我在 IB 中创建了一个带有一些标签和自定义颜色的 UIView,并将其链接为 IBOutlet,以便我可以在我的 viewController 中访问它。
@property (strong, nonatomic) IBOutlet UIView *tile;
尽管我想在一个循环中创建更多这样的 socket :
- (void)viewDidLoad {
[super viewDidLoad];
int i = 0;
while (i <= 9) {
UIView *cTile = [self.tile copy];
[self.view addSubview:cTile];
i += 1;
}
}
所以我试图复制这个 tile
导出,然后将复制的 View 添加到主视图。
显然这无法完成并返回错误。
是否有可能实现这种行为并重用/复制 IBOutlet?
最佳答案
我不认为你想做的是可能的,因为 UIView 不符合 NSCopying 协议(protocol)。
最好的办法是将您的“tile”创建为 UIView 子类或为其创建一个 nib,然后您可以根据需要多次重新加载它。
关于objective-c - 以编程方式重新使用 IBOutlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10187342/