问题
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