Ответ 1
Используйте это:
if (CGRectEqualToRect(self.view.frame, rect)) {
// do some stuff
}
Мне нужно было проверить, что рамка моего представления равна заданному 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?
Используйте это:
if (CGRectEqualToRect(self.view.frame, rect)) {
// do some stuff
}
Смотрите документацию для CGRectEqualToRect().
bool CGRectEqualToRect ( CGRect rect1, CGRect rect2 );
В Swift 3 это будет:
frame1.equalTo(frame2)