我正在编写带有段的自定义控件(如 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];
}
}
现在我想为这个按钮(段)设置标题并且我想从 IB 中选择编辑控件,就像在 segmentControl 中一样。
据我了解,我需要一个包含所有段的数组,并通过选择其中一个来编辑其标题。但我不能设置NSArray
为IBInspectable
任何建议如何解决这个问题?
* 编辑 *
例如,我需要从段的枚举中选择单个段,并设置其参数。选择第一段 -> 设置它的标题(我不明白如何用 IBInspectable 实现它)