以编程方式更改viewDidLoad()中UILabel的文本

时间:2010-03-24 03:00:49

标签: iphone uilabel

如何在视图控制器的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";
}

1 个答案:

答案 0 :(得分:3)

您应该尝试在viewDidLoad中添加子视图。

self.view是一个IBOutlet,它不会在调用initWithNibName时加载到内存中,并且将等于nil。

viewDidLoad在视图控制器将其关联的视图加载到内存后调用。因此,self.view将指向您在nib文件中创建的视图。