2014-01-06 39 views
0

我是新來的iOS應用程序,這個問題一直在困擾我幾個小時。 Screenshot of Interface Builder 模態彈窗視圖(右側)中的導航欄沒有正確地擴展到屏幕的頂部,就像在其他應用中一樣。我知道我可以禁用Autolayout並執行諸如CGFloat newheight = self.InfoNavigationBar.frame.size.height + 20; [self.InfoNavigationBar setFrame:CGRectMake(0, 0, 320, newheight)];之類的操作,但如果可能的話,我希望在啓用Autolayout的情況下執行此操作。 眼下,視圖看起來像這樣在我的iPhone上查看時:iOS 7 - 使UINavigationBar延伸到屏幕頂部

Screenshot of app on device

我怎樣才能使其正常延伸到屏幕的頂部,留下它的頂部狀態欄?如果這可以在IB中完成,而不必訴諸代碼中的所有內容,那將會很好。 (編輯:關於SO的一些其他iOS相關問題表明IB和Storyboard是兩個不同的東西,我甚至不知道哪個是哪個,看看第一個截圖,我正在使用任何是)。

回答

0

顯然,重寫你的UINavigationBar的positionForBar方法就像這樣:https://stackoverflow.com/a/18968920/1058399它仍然感覺像一個骯髒的黑客,但直到有更好的方式,我會這樣做。

的情況下,像我這樣的新手任何閱讀本

編輯:當你想你的應用程序支持橫向模式 所有這一切都分崩離析。橫向模式下的導航欄應該較小,如果將視圖封裝在導航控制器中,導航欄會自動爲您完成。不要只放置導航欄,並期望他們「只是工作」。