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
。
所有可检查的属性实际上都在那里添加值。
我正在编写带有段的自定义控件(如 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
。
所有可检查的属性实际上都在那里添加值。