I am using an IBInspectable Int in Swift to choose between 4 four shapes (0-3), however it is possible in the storyboard editor to set a value greater than 3 and less than 0, which stops the IBDesignable system working.
Is it possible to set a min and max limit of what values can be set in the storyboard editor?
let SHAPE_CROSS = 0
let SHAPE_SQUARE = 1
let SHAPE_CIRCLE = 2
let SHAPE_TRIANGLE = 3
@IBInspectable var shapeType: Int = 0
@IBInspectable var shapeSize: CGFloat = 100.0
@IBInspectable var shapeColor: UIColor?
There's no way to limit what a user can input in Storyboard. However, you could prevent invalid values from being stored using a computed property:
@IBInspectable var shapeType: Int {
set(newValue) {
internalShapeType = min(newValue, 3)
}
get {
return internalShapeType
}
}
var internalShapeType: Int = 0
Then you could also use an enum
instead of constants to represent your different shape types internally.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With