Swift - 约束

时间:2016-01-14 23:44:43   收藏:0   阅读:258

约束

  1. Storyboard中通过拖拽设置constraints;
  2. VFL和原生语法使用代码设置constraints;
  3. oc - Masonry, swift - SnapKit;对应框架设置约束

iOS布局机制 auto layout

  某个View需要使用auto layout布局,需要设置起translatesAutoresizingMaskIntoConstraints属性设置为NO

重要的API

  1. 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。(

UILableUIButtonUIImage这种可以通过内容通过约束得出size

其他的类似View重写的这个方法统一都返回(-1,-1),包括UITextView都返回的是(-1,-1)

2.preferredMaxLayoutWidth

3.sizeThatFits:方法和sizeToFit方法

4.systemLayoutSizeFittingSize:方法

参考资料

原文:http://www.cnblogs.com/liyang31tg/p/5131821.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!