![](/img/trans.png)
[英]How do I fix empty 44px space in iOS7 view with ViewDeckController?
[英]ios7 presentViewController reverts navBar from new 64px bar back to old 44px version
我有一個僅支持ios7 +的應用程序。導航欄設置使用狀態欄下方顯示的新的64px高條。 應用啟動時的外觀如下:
如果我做任何形式的“ presentViewController”,當我關閉視圖時,導航欄將移回到44px高度,並且仍會顯示在狀態欄下方,這反過來又會使視圖的所有內容也向上移動。 看起來像這樣:
無論是我呈現自己的視圖還是僅呈現UIImagePickerView,通過導航控制器進行的任何形式的向上滑動模式都將破壞導航欄的設置。 有想法該怎么解決這個嗎?
一些注意事項:
更新:
我在PKRevealController( https://github.com/pkluz/PKRevealController )內部具有導航控制器。 取出顯示控制器並僅將導航控制器添加到窗口本身即可解決此問題...為什么顯示控制器會導致其行為有所不同?
解:
原來是PKRevealController庫導致了此問題。 我修改了它在AppDelegate中的設置方式,並解決了該問題,盡管這有點“ hacky”。 我將“之前”和“之后”配置放在下面:
初始設置為:
解決方法是
如果它的navigationcontroller比您可以在每個viewcontroller的viewdidload中使用它:
if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) {
self.edgesForExtendedLayout = UIRectEdgeNone;
}
我有同樣的問題,但只需將UINavigationBar的Y位置設置為20px而不是0px即可輕松解決。 然后,您必須將UINavigationBarDelegate分配給您的ViewController:
[_navigationBar setDelegate:self];
此外,您必須將此方法添加到您的ViewController中,由於Delegate分配,該方法將被調用:
-(UIBarPosition)positionForBar:(id<UIBarPositioning>)bar
{
return UIBarPositionTopAttached;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.