在Nib文件的通用视图中使用对象

时间:2012-01-17 15:05:16

标签: xcode nib

我创建了一个通用的nib文件“MyGenericView.xib”,其所有者(为了可重用性)是UIViewController。

在我的课程中,我可以成功加载视图

[[NSBundle mainBundle] loadNibNamed:@"MyGenericView" owner:self options:nil];

但是,我在同一个通用视图中将标签定义为子对象。 我如何访问它并重载(例如)label.text?

在正常情况下,我会将我的笔尖的文件所有者设置为我的特定控制器,并将IBOutlet连接到文件所有者。 由于文件所有者(在我的通用情况下)是UIViewController,这是不可能的。

提前致谢

1 个答案:

答案 0 :(得分:0)

在界面构建器中,将标签的标签设置为,例如,1。您可以在属性检查器的“查看”部分中找到标记字段。然后使用 viewWithTag:方法:

// given that the label we seek is in the self.view hierarchy
//if not, change accordingly
UILabel* myLabel = (UILabel*)[self.view viewWithTag:1];

此外,如果您碰巧遇到与表格单元格类似的问题,我建议您使用UINib class。当您不需要将任何操作委托给文件所有者时,此类很棒,您可以在没有任何所有者的情况下实例化您的对象。