我有一个在appDelegate中实例化并推送到导航控制器的视图控制器。视图控制器的视图是使用xib文件创建的。 xib文件在视图上放置UILabel(以及其他内容)。现在我需要以编程方式设置标签的text属性,但我不知道如何获取它的引用。如何引用标签对象?
我正在使用xcode 3.2.5并构建一个iPad应用程序。
答案 0 :(得分:27)
除了IBOutlets
,您还可以在IB的标签上设置标签属性。然后,当你需要它时,你可以这样做:
UILabel *label = (UILabel *)[self.view viewWithTag:111];
111当然是您在IB中分配给标签的标签。
答案 1 :(得分:9)
你用所谓的“出口”做到这一点。您可以在控制器中定义它们,将它们清楚地标记为IBOutlet
,然后将它们在Interface Builder中连接到您的文件所有者(或在IB中创建的其他委托对象)。
例如,在您的FooController.m
中,您可能会这样:
@interface FooController ()
@property (nonatomic, weak) IBOutlet UILabel* fooLabel;
@end
然后,您可以选择标签,然后控制从中拖动到文件所有者,或转到其连接标签,然后从引用插座下的+
拖动到文件所有者,然后选择{{ 1}}。
更新:代码示例已更改,以反映处理此案例的现代方式。
答案 2 :(得分:0)
[self.view viewWithTag:NUMBER_OF_TAG];
可以解决问题。但请记住,如果要访问视图,则必须在viewWillAppear或viewDidAppear事件中执行此操作。