13

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.

pancake
  • 1,923
  • 2
  • 21
  • 42

1 Answers1

12

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)
}
Smongo
  • 181
  • 2
  • 12