내 수퍼 뷰가 각면에 10 단위를 측정하는 상자이고 내 서브 뷰가으로 clipsToBounds
설정되어 폭이 20 단위 YES
인 경우 수퍼 뷰의 경계 내에 맞는 부분 만 표시됩니다. 그렇지 않으면 가로 clipsToBounds
설정되어 있으면 NO
전체 하위보기, 심지어 수퍼 뷰 외부의 부분까지 볼 수 있습니다 (아직 화면에 있다고 가정).
시각적 예로서 스토리 보드에 설정된 다음보기를 고려하십시오.
이것은 흰색 UIView
, 왼쪽 상단 모서리에 간단한 "1"또는 "2"가있는 레이블이므로 view1
또는 로 논의 할 수 있습니다 view2
. 또한 검은 색보기는 흰색보기와 크기가 같지만 원점은 흰색보기의 중앙에 있습니다.
뷰 컨트롤러의 viewDidLoad
메서드에는 다음 코드가 있습니다.
목표 -C :
- (void)viewDidLoad {
[super viewDidLoad];
self.view1.clipsToBounds = YES;
self.view2.clipsToBounds = NO;
}
빠른:
override func viewDidLoad() {
super.viewDidLoad()
self.view1.clipsToBounds = true
self.view2.clipsToBounds = false
}
코드를 실행하고 시뮬레이터 나 장치를 보면 다음과 같은 결과가 나타납니다.
따라서 이러한보기가 동일하게 설정 되었음에도 불구하고 (제외 clipsToBounds
) 다르게 보입니다. 이것이하는 일 clipsToBounds
입니다. 로 설정 YES
하면 상위 결과가 제공되고로 설정 NO
하면 하위 결과 가 제공됩니다.
뷰 계층 구조를 디버깅하면 블랙 박스가 실제로 흰색 뷰의 경계선을 넘어서 확장된다는 것을 더 명확하게 볼 수 있지만, 앱이 실제로 실행 중일 때 뷰 2 만이를 보여줍니다.
UITextView
경우 그림자가 표시되지 않는clipsToBounds
속성이 같음true
; ? 그것의 경우false
, 잘 작동