2012-10-13 149 views
85

我需要检查我的视图框架是否等于给定的CGRect。我试图这样做:比较两个CGRects

CGRect rect = CGRectMake(20, 20, 20, 20); 
if (self.view.frame == rect) 
{ 
    // do some stuff 
} 

但是,我得到一个错误,说Invalid operands to binary expression('CGRect' (aka 'struct CGRect') and 'CGRect')。为什么我不能简单地比较两个CGRect

回答

217

使用此:

if (CGRectEqualToRect(self.view.frame, rect)) { 
    // do some stuff 
} 
+7

+1更具体的答案 –

+0

+1同上。 – ManicMonkOnMac

39

对于CGRectEqualToRect(),请参见the documentation

bool CGRectEqualToRect (CGRect rect1, CGRect rect2); 
4

在斯威夫特3这将是:

frame1.equalTo(frame2) 
+1

或使用良好的ol''=='运算符。 –