美文网首页
ios拓展15-layoutSubviews的使用

ios拓展15-layoutSubviews的使用

作者: Abler | 来源:发表于2016-08-05 12:39 被阅读26次

    之前笔者通过Swift自定义button:http://www.jianshu.com/p/e679a0710e29; 但是这个方法在某些情况下有些bug,比如点击的时候,如果设置了动画(button有缩放效果),
    如果layoutSubviews被多次调用,由于缩放效果,button位置会发生偏移


    1. 解决办法:干掉按钮高亮效果

        override var highlighted: Bool{
            get{
                return false
            }
            set{}
        }
    


    2. 笔者网上搜索了一下layoutSubviews调用情况
    1、init初始化不会触发layoutSubviews
    
    2、addSubview会触发layoutSubviews
    
    3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化
    
    4、滚动一个UIScrollView会触发layoutSubviews
    
    5、旋转Screen会触发父UIView上的layoutSubviews事件
    
    6、改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件
    
    ps:layoutSubviews总结---不要直接调用方法layoutSubviews(可重写),如果想要刷新,
    可以调用setNeedsLayout或者layoutIfNeeded,相当于刷新布局
    

    相关文章

      网友评论

          本文标题:ios拓展15-layoutSubviews的使用

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