简体   繁体   中英

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

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)
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM