同樣一個(gè)detailController,被不同的父控制器push出來(lái),controller的view會(huì)被下移64,另一種就正常顯示。跟self.automaticallyAdjustsScrollViewInsets沒(méi)什么關(guān)系。
1.試了
- (void)viewWillLayoutSubviews
{
self.view.frame = CGRectMake(0, 0, 50, 50);
}
可以解決問(wèn)題,但是會(huì)有一個(gè)view上移的動(dòng)畫(huà)效果,不希望看到移動(dòng)。
2.試了self.extendedLayoutIncludesOpaqueBars = YES;
讓view延伸到邊界,居然解決了。
這個(gè)屬性在狀態(tài)欄不透明的狀態(tài)下才生效。也就是說(shuō),一般使用這個(gè)屬性應(yīng)該這樣使用:
// 狀態(tài)欄不透明(必須設(shè)置,并且為NO)
self.navigationController.navigationBar.translucent = NO;
// 視圖延伸不考慮透明的Bars(這里包含導(dǎo)航欄和狀態(tài)欄)
// 意思就是延伸到邊界
self.extendedLayoutIncludesOpaqueBars = YES;
// 意思就是空出導(dǎo)航欄位置
// self.extendedLayoutIncludesOpaqueBars = NO;
暫時(shí)是這么解決的,如果有朋友也遇到過(guò),知道怎么解決請(qǐng)賜教!
另,又遇到push到一個(gè)隱藏導(dǎo)航欄的頁(yè)面返回之后view下移的問(wèn)題。
在隱藏導(dǎo)航欄時(shí)用方法就解決了:
[self.navigationController setNavigationBarHidden:YES animated:YES];