두 CGRect 비교


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'). 두 개의를 단순히 비교할 수없는 이유는 무엇 CGRect입니까?

답변:


250

이것을 사용하십시오 :

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



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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.