Make a fixed size UIView, like UISwitch (using IBDesignable)

余生颓废 提交于 2019-12-20 18:09:11

问题


When I'm using this guide to create a view that is designed in a XIB, reusable from within a storyboard using the IBDesignable attribute on my UIView subclass, how do I make it have a fixed size, and have its resizing behavior match that of a view like UISwitch?

With "resizing behavior" I also mean while designing in interface builder.


回答1:


You could override intrinsicContentSize() in your UIView subclass. Then you won't need to supply height and width constraints in the interface builder.

override var intrinsicContentSize: CGSize {
    return CGSizeMake(width: 100, height: 100)
}

If you only want to supply one of the dimensions, you can use UIView.noIntrinsicMetric instead of a value.

override var intrinsicContentSize: CGSize {
    return CGSizeMake(width: UIView.noIntrinsicMetric, height: 100)
}


来源:https://stackoverflow.com/questions/28593233/make-a-fixed-size-uiview-like-uiswitch-using-ibdesignable

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!