美文网首页
自动布局注意点

自动布局注意点

作者: EagleOne | 来源:发表于2016-01-15 17:12 被阅读92次

    Auto Layout 的布局是从外到内的,即从屏幕尺寸开始布局,一直布局到最里面的细节元素,我们的目光自然地落在了 viewDidLayoutSubviews 和 viewDidAppear 上了:
    1.viewDidLayoutSubviews 时当前视图已经把子元素布局完毕,frame 已经形成
    2.viewDidAppear 时,渲染系统把当前视图加入父视图中,显示在屏幕上


    注意点:
    在自定义控件的初始化方法里约束子视图时,是得不到正确的位置的,因为这个时候自定义控件还没有addSubView,frame没有生效,所以这个时候自动布局是错误的。
    解决方法:
    自定义控件也用约束布局,那么在自定义控件约束写好后,子视图的布局也就会正确生效。


    约束是自外向内的,自定义控件时,控件内部的视图如果使用约束的,外部必须用约束,否则控件内部得不到正确的frame,约束就会错乱。相反,控件内部的子视图如果是frame布局,外部则可以用frame和约束。

    相关文章

      网友评论

          本文标题:自动布局注意点

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