-8

setself.view.tagが loadView で 10 のviewDidload場合、タグでは 0 です。なぜですか? ありがとう

- (void)loadView
{
    [super loadView];
    NSLog(@"loadView %d",self.view.tag);
    [self.view setTag:10];
    self.view = [[UIView alloc] initWithFrame:self.view.frame];
    self.view.backgroundColor = [UIColor yellowColor];
}

#pragma mark view loaded

- (void)viewDidLoad
{
    [super viewDidLoad];
    NSLog(@"ViewDidload %d",self.view.tag);
    [self.view setTag:10];
}
4

1 に答える 1

0

通常、loadView メソッドは実装されていません。システムは、ビュー階層を作成するためにそれを呼び出します。呼び出された時点では、ビューは存在しません。

なぜ loadView を実装するのですか? あなたはおそらくそうすべきではありません。

ドキュメントを引用するには:

Interface Builder を使用してビューを作成し、View Controller を初期化する場合は、このメソッドをオーバーライドしてはなりません。

loadView メソッドにどのコードを入れていますか?

于 2013-09-06T16:55:23.843 に答える