如何在视图控制器的viewDidLoad方法中更改UILabel的文本?。
下面的代码不会更新用户界面。
- (id)initWithNibName:(NSString *)nibNameOrNil
bundle:(NSBundle *)nibBundleOrNil {
if (self = [super initWithNibName:nibNameOrNil
bundle:nibBundleOrNil]) {
displayLabel = [[UILabel alloc] initWithFrame:CGRectMake(80, 20, 230, 40)];
[self.view addSubview:displayLabel];
}
return self;
}
//
- (void)viewDidLoad {
[super viewDidLoad];
displayLabel.text = @"abc";
}
答案 0 :(得分:3)
您应该尝试在viewDidLoad中添加子视图。
self.view是一个IBOutlet,它不会在调用initWithNibName时加载到内存中,并且将等于nil。
viewDidLoad在视图控制器将其关联的视图加载到内存后调用。因此,self.view将指向您在nib文件中创建的视图。