2012-10-13 13 views
85

Musiałem sprawdzić, czy ramka mojego widoku jest równa danej CGRect. Próbowałem to robić tak:Porównywanie dwóch CGRects

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

Jednak mam błąd mówiąc Invalid operands to binary expression('CGRect' (aka 'struct CGRect') and 'CGRect'). Dlaczego nie mogę po prostu porównać dwóch s. CGRect?

Odpowiedz

217

Użyj tego:

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

+1 więcej odpowiedzi betonowej –

+0

+1 tak samo jak wyżej. – ManicMonkOnMac

39

Zobacz the documentation dla CGRectEqualToRect().

bool CGRectEqualToRect (CGRect rect1, CGRect rect2); 
4

W Swift 3 byłoby:

frame1.equalTo(frame2) 
+1

Lub za pomocą dobrego operatora ol '' == '. –

Powiązane problemy