如何设置IBInspectable Int的最大限制

我在Swift中使用IBInspectable Int来select四个四个形状(0-3),但是在故事板编辑器中可以设置一个大于3且小于0的值,这会停止IBDesignable系统的工作。

是否可以设置故事板编辑器中可以设置的最小值和最大值?

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? 

无法限制用户在Storyboard中input的内容。 但是,您可以防止使用计算属性存储无效值:

  @IBInspectable var shapeType: Int { set(newValue) { internalShapeType = min(newValue, 3) } get { return internalShapeType } } var internalShapeType: Int = 0 

那么你也可以使用enum而不是常量来表示你的内部不同的形状types。