viewDid出现在代码混乱与布局

我遇到了一些严重的奇怪的情况。

我有一个代码看起来像这样:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; return self; } - (void)viewDidLoad { [super viewDidLoad]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } 

与视图控制器看起来像这样: OK状态

奇怪的是,当我只是添加

 - (void)viewDidAppear:(BOOL)animated { } 

即使没有任何动作,它完全混淆视图控制器的布局,并使其看起来像这样: KO状态

我没有添加任何其他的代码行,然后只是为viewDidAppear空头。 删除时,布局是好的。 这里发生了什么?

在viewDidLoad关于状态栏和导航栏(如果有的话)之后,您的视图将会改变大小。 如果你不叫[super viewDidAppear:animated]; ,您的子视图可能无法正确重新定位。