所以我正在構建一個iOS應用程序,並且我將UINavigationBar自定義爲比默認大小更高。然而,出現了一些問題。自定義UINavigationBar高度問題
我的內容的行爲就好像UINavigationBar是默認高度一樣。這會導致y = 0中的任何視圖實際上被我的較高UINavigationBar隱藏或部分隱藏。我必須手動將視圖向下放置正確的偏移量,這不是一個非常大的問題,但我很好奇是否有人找到了解決此問題的方法。本質上,我的UINavigationBar被視爲一個具有較大背景圖像的普通背景。
如果被點擊的部分低於正常UINavigationBar的典型44px底部,那麼我的UINavigationBar中的任何視圖/按鈕都不可點擊。任何在正常範圍內的工作都可以正常工作,但低於44px標記它不會註冊。同樣,這就好像我的UINavigationBar被應用程序視爲具有正常高度但大背景圖像的應用程序。這是一個非常重要的問題,我真的需要解決。
下面是修改我的UINavigationBar的代碼:
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navBarBackground_iPhone.png"] forBarMetrics:UIBarMetricsDefault];
[self.navController.navigationBar setBackgroundColor:[UIColor whiteColor]];
[self.navController.navigationBar setFrame:CGRectMake(0, 0, self.frame.size.width, 72)];
這是我的UINavigationController分配,並用根視圖控制器初始化後,在我的主窗口的-makeKeyAndVisible
執行。背景圖片寬320px,高72px(@ 2x版本爲雙倍)。
正如你所看到的,我嘗試在這裏設置UINavigationBar的高度,在這部分代碼看起來並不粘住之後。它恢復到44px。
我試過UINavigationBar子類失敗。任何幫助是極大的讚賞。
聽起來很複雜。雖然您可能想考慮_why_您正在改變高度,因爲堅持用戶熟悉的用戶界面通常是最好的選擇。 – Patrick 2013-02-08 16:47:11
有用的帖子:http://stackoverflow.com/questions/8726006/custom-uinavigationbar-with-custom-height-causes-the-uibarbuttonitems-to-be-pos,http://stackoverflow.com/questions/2133257/ iphone-如何設置,UINavigationBar的高度。 – petert 2013-02-08 17:00:32
@petert您的第二個鏈接中的最佳答案非常棒!它解決了我的兩個問題。謝謝! – diakonos 2013-02-09 10:23:10