2013-08-30 22 views
0

我遇到了一些嚴重的奇怪的情況。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 state

奇怪的是,當我只添加

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

即使沒有裏面的任何動作,它完全與視圖控制器的佈局弄亂了,並使它看起來像這樣: KO state

我還沒有添加其他代碼行則是空洞的報頭viewDidAppear。刪除時,佈局是確定的。這裏發生了什麼?

+4

如果您調用'[super viewDidAppear:animated];'從viewDidAppear:'內會發生什麼? –

回答

6

您的視圖將在viewDidLoad關於狀態欄和導航欄(如果有的話)之後更改大小。如果您不打電話[super viewDidAppear:animated];,您的子視圖可能無法正確重新定位。

+0

真棒,作品像魅力,謝謝你! – Michal