ios – 如何创建一个类型枚举的IBInspectable

枚举不是Interface Builder定义的运行时属性。
以下不在Interface Builder的Attributes Inspector中显示:

enum StatusShape:Int {
    case Rectangle = 0
    case Triangle = 1
    case Circle = 2
}
@IBInspectable var shape:StatusShape = .Rectangle

从文档:
您可以将IBInspectable属性附加到类声明,类扩展或类别中的Interface Builder定义的运行时属性支持的任何类型的任何属性:布尔值,整数或浮点数,字符串,本地化字符串,矩形,点,大小,颜色,范围和零。

问:如何在Interface Builder的Attributes Inspector中查看枚举?

迅速

使用适配器,它将充当Swift和Interface Builder之间的桥梁。 shapeAdapter可从IB检查。

// IB: use the adapter
   @IBInspectable var shapeAdapter:Int {
        get {
            return self.shape.rawValue
        }
        set( shapeIndex) {
            self.shape = StatusShape(rawValue: shapeIndex) ?? .Rectangle
        }
    }

这样,没有必要更改原始属性,但它可以从Interface Builder安全设置。

// Swift: use the enum
   var shape:StatusShape = .Rectangle
相关文章
相关标签/搜索