以编程方式重用IBOutlet

时间:2012-04-17 07:59:29

标签: objective-c ios cocoa uiview iboutlet

我在IB中创建了一个带有一些标签和自定义颜色的UIView,并将其作为IBOutlet链接,因此我可以在viewController中访问它。

@property (strong, nonatomic) IBOutlet UIView *tile;

虽然我想在一个循环中创建更多这个出口:

- (void)viewDidLoad {
    [super viewDidLoad];
    int i = 0;
    while (i <= 9) {
        UIView *cTile = [self.tile copy];
        [self.view addSubview:cTile];
        i += 1;
    }
}

所以我正在尝试复制此tile插座,然后将复制的视图添加到主视图中。 显然这不能做,并返回错误。

是否有可能实现此类行为并重新使用/复制IBOutlet?

1 个答案:

答案 0 :(得分:2)

我不认为你想做什么是可能的,因为UIView不符合NSCopying协议。

最好的办法是将你的“tile”创建为UIView子类或为它创建一个nib,然后你可以根据需要重新加载它。