4

基本上,我有一个可以在其中包含无限数量的 UIView 的视图。我希望能够设置self.numberOfSections = 8self.numberOfSections = 2然后UIImages分别生成相同数量的,然后可以对其进行操作。

IBInspectible目前,无论我有 2 个 numberOfSections 还是 100 个 numberOfSections,我的代码中都会出现许多图像。我想以某种方式能够UIImages根据我的 numberOfSections 号码进行创建。

旋转WheelView

故事板检查

如果我在这里将 Number Of Sections 设置为 2 - 我可以在情节提要中设置图像,但所有其他 IBInspectable 元素也会出现,因为只有 2 个部分,所以不会使用。有没有办法只显示需要的那些?我想在情节提要中设置图像。有没有办法重构它以免有这么多 IBInspectables?

这就是我将图像设置为代码中各种以编程方式生成的视图的方式。

-(void)drawRect:(CGRect)rect

    for (int i = 0; i < self.numberOfSections; i++) {
       NSString *rotaryName = [NSString stringWithFormat:@"rotaryImage%d", i + 1];
       id rotaryNameValue = [self valueForKey:rotaryName];
       [self.sectorView setValue:rotaryNameValue forKey:@"image"];
    }
}
4

1 回答 1

5

首先,我会说您的设计模式存在缺陷。如果您有那么多IBInspectable UIImageView实例,您可能应该使用IBOutletCollection.

其次,你的要求是不可能的。为什么不创建单个IBInspectable值类型来设置情节提要中的部分数量,并UIImageView从该数字以编程方式生成对象?

@property (nonatomic, assign) IBInspectable int *sections;

界面生成器

于 2016-05-06T12:35:36.753 回答