如何创建类似 IBInspectable 属性的段控件?

How to create segment control like IBInspectable properties?

我想创建像段控件这样的自定义控件,但我无法理解如何创建这种 Segment IBInspectable 属性。我的意思是它的元素根据 Segments 增加。据我所知 @IBInspectable.

中不支持数组

@IBInspectable 属性由 user-defined runtime attribute 支持,但尚不支持 Segment 数据类型。所以我认为 Storyboard 不支持你想要的功能。

您还不能创建那种类型的 @IBInspectable,但是...

您可以将字符串变量定义为 @IBInspectable 变量,并向其添加多行。然后使用 didSet 方法将字符串拆分为您在内部使用的数组(例如)...

大致如下:

private var internalTextArray: [String]?

@IBInspectable var segments: String = "" {
    didSet {
        internalTextArray = segments.components(separatedBy: "\n")
        // do something with the split-up lines of text
    }
}