Autolayout - intrinsic size of UIButton does not include title insets

前端 未结 12 1114
不知归路
不知归路 2020-12-07 07:11

If I have a UIButton arranged using autolayout, its size adjusts nicely to fit its content.

If I set an image as button.image, the instrinsic size again

12条回答
  •  没有蜡笔的小新
    2020-12-07 08:06

    For Swift 3 based on pegpeg's answer:

    extension UIButton {
    
        override open var intrinsicContentSize: CGSize {
    
            let intrinsicContentSize = super.intrinsicContentSize
    
            let adjustedWidth = intrinsicContentSize.width + titleEdgeInsets.left + titleEdgeInsets.right
            let adjustedHeight = intrinsicContentSize.height + titleEdgeInsets.top + titleEdgeInsets.bottom
    
            return CGSize(width: adjustedWidth, height: adjustedHeight)
    
        }
    
    }
    

提交回复
热议问题