【问题标题】:Re-using IBOutlet programmatically以编程方式重用 IBOutlet
【发布时间】:2012-04-17 07:59:28
【问题描述】:

我在 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?

【问题讨论】:

    标签: objective-c ios cocoa uiview iboutlet


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-06
      • 2021-04-14
      • 2014-08-05
      相关资源
      最近更新 更多