반응형
두 CGRect 비교
내 관점의 프레임이 주어진 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
입니까?
이것을 사용하십시오 :
if (CGRectEqualToRect(self.view.frame, rect)) {
// do some stuff
}
CGRectEqualToRect ()에 대한 문서 를 참조하십시오 .
bool CGRectEqualToRect ( CGRect rect1, CGRect rect2 );
Swift 3에서는 다음과 같습니다.
frame1.equalTo(frame2)
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
참고 URL : https://stackoverflow.com/questions/12877496/comparing-two-cgrects
반응형
'developer tip' 카테고리의 다른 글
Android에서 문자열 너비를 얻는 방법은 무엇입니까? (0) | 2020.08.29 |
---|---|
탐색 창에서 선택한 메뉴 항목의 색상 변경 (0) | 2020.08.29 |
Mac 키보드를 사용하여 iPhone 시뮬레이터에서 텍스트 필드를 입력 할 수 없습니까? (0) | 2020.08.29 |
하위보기가보기에 있는지 확인 (0) | 2020.08.29 |
Android에서 프로그래밍 방식으로 ImageView의 이미지 변경 (0) | 2020.08.29 |