1
내가보기를 렌더링하는 순서로 다음과 같은 3 단계가 알고 : 레이아웃 하위 뷰 이후에 제약 조건을 업데이트하는 방법은 무엇입니까?
- 업데이트 제약
- 레이아웃보기를
내 사용자 정의 단추의 높이를 수정하면 해당 단추가 주변보기에 제약이 있습니다. 어떻게 해당 제약 조건을 업데이트하고 뷰와 겹치지 않게 할 수 있습니까? 주석 처리 된 선을 볼 수 있으며 그 중 일부는 작동하지 않습니다.
class DynamicHeightButton: UIButton {
override func layoutSubviews() {
super.layoutSubviews()
let size = (self.titleForState(UIControlState.Normal)! as NSString).boundingRectWithSize(CGSizeMake(self.bounds.size.width, CGFloat.max), options: NSStringDrawingOptions.UsesLineFragmentOrigin, attributes: [NSFontAttributeName : UIFont.systemFontOfSize(17)], context: nil)
self.bounds.size.height = size.height + 8
//viewController!.view.setNeedsUpdateConstraints()
//self.setNeedsUpdateConstraints()
//self.setNeedsLayout()
}
}