Порівняння двох CGRects


95

Мені потрібно було перевірити, чи є кадр мого зору рівним заданому 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'). Чому я не можу просто порівняти два CGRects?

Відповіді:





2

У Swift мені просто працює оператор ==or !=:

    let rect = CGRect(x: 0, y: 0, width: 20, height: 20)

    if rect != CGRect(x: 0, y: 0, width: 20, height: 21) {
        print("not equal")
    }

    if rect == CGRect(x: 0, y: 0, width: 20, height: 20) {
        print("equal")
    }

роздруковує консоль налагодження:

not equal
equal
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.