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.
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