0

我遇到了一些非常奇怪的情况。

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

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

- (void)viewDidLoad {
    [super viewDidLoad];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning]; 
}

视图控制器看起来像这样: 正常状态

奇怪的是,当我只添加

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

即使内部没有任何操作,它也会完全弄乱视图控制器的布局并使其看起来像这样: KO状态

我没有添加任何其他代码行,然后只是为 viewDidAppear 添加了空标题。删除后,布局正常。这里到底发生了什么?

4

1 回答 1

6

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

于 2013-08-30T15:50:43.060 回答