Swift - 约束
时间:2016-01-14 23:44:43
收藏:0
阅读:258
约束
- Storyboard中通过拖拽设置constraints;
- VFL和原生语法使用代码设置constraints;
- oc - Masonry, swift - SnapKit;对应框架设置约束
iOS布局机制 auto layout
某个View需要使用auto layout布局,需要设置起translatesAutoresizingMaskIntoConstraints属性设置为NO
重要的API
- intrinsinContentSize
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
评论(0)