如何在 View Controller 的 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";
}
最佳答案
您应该尝试在 viewDidLoad 中添加 subview 。
self.view 是一个 IBOutlet,在调用 initWithNibName 时它不会被加载到内存中,并且等于 nil。
viewDidLoad 在 View Controller 将其关联的 View 加载到内存后被调用。因此 self.view 将指向您在 nib 文件中创建的 View 。
关于iphone - 以编程方式更改 viewDidLoad() 中 UILabel 的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2505060/