iOS 中的动态 IBInspectable 枚举

Dynamic IBInspectable enum in iOS

我正在编写带有段的自定义控件(如 UISegmentControl) 我必须使用 IBInspectable 参数。

我有几个控件

@property IBInspectable int numberOfSegments;

下面是我如何绘制这些片段:

-(void) drawForAmountOfSegments {
    float segmentWidth = self.frame.size.width / numberOfSegments;
    float segmentHeight = self.frame.size.height;
    for (int i = 0; i < numberOfSegments; i++) {

       CGRect sgRect = CGRectMake(segmentWidth * i, 0, segmentWidth, segmentHeight);
       UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
       [button addTarget:self
                  action:@selector(segmentSelected:)
        forControlEvents:UIControlEventTouchUpInside];
       button.tag = i;
       button.frame = sgRect;
       button.backgroundColor = custom;
       [self addSubview: button];
    }
}

现在我想为这个按钮(段)设置标题我想select从 IB 编辑控件,就像在 segmentControl 中一样。

据我所知,我需要一个包含所有片段的数组,并通过 selecting 其中之一来编辑它的标题。 但我无法将 NSArray 设置为 IBInspectable 有什么解决这个问题的建议吗?

* 编辑 *

例如,我需要 select 从段枚举单个段,并设置其参数。 Select 第一段 -> 设置它的标题(我不明白如何用 IBInspectable 实现它)

您可以使用 Identity Inspector 中的 User Defined Runtime Attributes。 所有可检查的属性实际上都在那里添加值。