2012-10-13 150 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''=='運算符。 –