clipsToBounds는 어떻게 작동합니까?
이 UIView
속성 을 사용하는 방법을 알고 싶습니다 clipsToBounds
.
공식 문서는 다음과 같이 말합니다.
clipsToBounds
특성하위 뷰가 뷰의 경계로 제한되는지 여부를 결정하는 부울 값입니다.
토론
이 값을로 설정YES
하면 하위보기가 수신자의 경계에 잘 리게됩니다. 로 설정하면NO
프레임이 수신기의 가시적 경계를 넘어 확장되는 하위 뷰가 잘리지 않습니다. 기본값은NO
입니다.
그러나 이것이 정확히 무엇을 의미하는지 명확하지 않습니다. 어떻게 사용해야 clipsToBounds
합니까? 이 속성을 YES
정확히 설정하면 어떤 결과가 발생 합니까? 아니면 NO
?
내 수퍼 뷰가 각면에 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 만이를 보여줍니다.
Shadow Swift 4가있는 uiview 및 textfield
self.txtCurrent.layer.shadowOpacity = 0.5
self.txtCurrent.layer.shadowOffset = CGSize(width: 1.0, height: 1.0)
self.txtCurrent.layer.shadowRadius = 5.0
self.txtCurrent.layer.shadowColor = UIColor.black.cgColor
self.txtCurrent.layer.masksToBounds = false
그림자가있는 uiview
self.yourview.layer.shadowOpacity = 0.5
self.yourview.layer.shadowOffset = CGSize(width: 1.0, height: 1.0)
self.yourview.layer.shadowRadius = 5.0
self.yourview.layer.shadowColor = UIColor.black.cgColor
self.yourview.layer.masksToBounds = false
참고 URL : https://stackoverflow.com/questions/20449256/how-does-clipstobounds-work
'developer tip' 카테고리의 다른 글
Instruments에서 내 앱을 시작할 수 없음 : 하나 이상의 대상을 시작하지 못했습니다. (0) | 2020.08.21 |
---|---|
Azure 데이터베이스에 대한 암호 재설정 (0) | 2020.08.21 |
"else if"는 단일 키워드입니까? (0) | 2020.08.21 |
목표 C : NSNotification에 대한 관찰자를 제거 할 위치는 어디입니까? (0) | 2020.08.21 |
Swift로 둘 이상의 사용자 지정 셀이있는 UITableview (0) | 2020.08.21 |