基本上,我有一个视图,其中可以包含无限数量的UIView。我希望能够设置self.numberOfSections = 8
或self.numberOfSections = 2
,然后分别生成相同数量的UIImages
,然后可以对其进行操作。
目前,无论我有2个numberOfSections还是100个numberOfSections,我的代码中都会出现许多IBInspectible
图像。我想能够以我的numberOfSections数字为基础创建UIImages
。
如果在这里将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"];
}
}
最佳答案
首先,我要说您的设计模式存在缺陷。如果您有那么多IBInspectable UIImageView
实例,则可能应该使用IBOutletCollection
。
其次,您的要求是不可能的。为什么不创建单个IBInspectable
值类型来设置情节提要中的部分数量,并根据该数字以编程方式生成UIImageView
对象?
@property (nonatomic, assign) IBInspectable int *sections;