标签:
约束
iOS布局机制 auto layout
某个View需要使用auto layout布局,需要设置起translatesAutoresizingMaskIntoConstraints属性设置为NO
重要的API
override func intrinsicContentSize() -> CGSize { var contentSize = super.intrinsicContentSize() //这个方法就是通过约束来返回一个渲染时候需要的Size,会多次回调 print(contentSize) contentSize.width += 20 contentSize.height += 20 print(contentSize) return contentSize }
intrinsicContentSize可以通过重写这个方法,返回一个通过约束计算出的frame,也可以如上,改变这个frame来达到渲染后的frame。(
UILable、UIButton和UIImage这种可以通过内容通过约束得出size
)
其他的类似View重写的这个方法统一都返回(-1,-1),包括UITextView都返回的是(-1,-1)
2.preferredMaxLayoutWidth
3.sizeThatFits:方法和sizeToFit方法
4.systemLayoutSizeFittingSize:方法
参考资料
标签:
原文地址:http://www.cnblogs.com/liyang31tg/p/5131821.html