美文网首页
Autolayout 小记

Autolayout 小记

作者: JaiUnChat | 来源:发表于2016-06-02 21:07 被阅读16次

    1. Intrinsic Content

    在使用AutoLayout的时候,UILabel 我们只需要设定他的position,不需要设置宽高,而一个自定义的UIView,我们不仅仅需要位置,还需要设定宽高,这是为什么呢?

    每一个View 都有一个特别的属性叫做Intrinsic Content Size,这个可以理解成是一个View的最合适而且最小的宽度和高度。对于UILabe来说,就是至少得把我设定的文字都显示完整吧,所以系统只需要知道UILabel的位置。而UIView的Intrinsic Content是(0,0)所以需要设置UIView的宽高(或是设定周围的边距等等其他关系可以让系统知道这个View应该多宽,多高)。而Intrinsic Content Size,也是未来自定义View显示到Xcode中必须设置的属性之一。

    注意⚠️:TodayView中 如果没有设置Bottom Layout Guide相关的Constraint,view的intrinsic content会跟屏幕分辨率一样

    2. Steps of Display

    在Autolayout中, 显示一个view的步骤分为三步

    • Update Constraints
    • Layout Views
    • Display

    一般来说layoutSubviews负责布局,比如调整View之间的距离,大小,drawRect负责绘制,比如使用什么颜色。而AutoLayout则是在layout之前增加了一个设定约束的过程,也就是上面提到了update constraints。

    相关文章

      网友评论

          本文标题:Autolayout 小记

          本文链接:https://www.haomeiwen.com/subject/arjhdttx.html