美文网首页selector
UIView的sizeToFit和sizeThatFits

UIView的sizeToFit和sizeThatFits

作者: flionel | 来源:发表于2018-10-31 13:39 被阅读11次

    1. 两个方法

    • sizeToFit()
    • sizeThatFits(_ size: CGSize) { }

    2. sizeThatFit(_ size: CGSize)

    看下文档中,sizeThatFit(_ size: CGSize) {}的注释,

    return 'best' size to fit given size. does not actually resize view. Default is return existing view size
    对于给到的size参数,返回“最佳”的size,实际上并没有改变view的size。默认情况下返回当前view的size。

    3. sizeToFit()

    再看下文档中sizeToFit的解释,

    calls sizeThatFits: with current view bounds and changes bounds size.
    该方法会触发sizeThatFits方法,参数就是当前view的bounds,同时会改变该bounds的size。

    4. 在UIToolBar子类中的使用

    class CustomToolBar: UIToolBar {}
    fileprivate extension CustomToolBar {
    
      override func sizeThatFits(_ size: CGSize) {
        var size = super.sizeThatFits(size)
        size.height = 44
        return size
      }
      func _setupUI() {
        sizeToFit() // 会触发sizeThatFit(_ size: CGSize)
        ...
        ...
      }
    }
    

    相关文章

      网友评论

        本文标题:UIView的sizeToFit和sizeThatFits

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