码迷,mamicode.com
首页 > 编程语言 > 详细

Swift - 约束

时间:2016-01-14 23:45:09      阅读:643      评论:0      收藏:0      [点我收藏+]

标签:

约束

  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:方法

参考资料

Swift - 约束

标签:

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!