Сравнение двух CGR

Мне нужно было проверить, что рамка моего представления равна заданному CGRect. Я пробовал сделать это вот так:

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 s?

Ответ 1

Используйте это:

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

Ответ 2

Смотрите документацию для CGRectEqualToRect().

bool CGRectEqualToRect ( CGRect rect1, CGRect rect2 );

Ответ 3

В Swift 3 это будет:

frame1.equalTo(frame2)