2013-10-29 29 views
1

我遇到了iOS7中UINavigationBar的奇怪情況,我想知道是否有人遇到過這個/找到了解決方案。UINavigationBar動畫在iOS7中錯誤地處理視圖的幀

我有一個UINavigationController與另一個UIViewController與一個tableview佔用整個視圖(添加在筆尖)作爲rootViewController嵌入。 UINavigationController的navBar的半透明屬性設置爲NO。稍後更多。根控制器包含此代碼:

[self.navigationItem setPrompt:@"My Prompt Text"]; 

這會導致UINavigationBar被放大以適應文本。沒關係。

當我推動一個沒有設置提示屬性的新視圖控制器時,導航欄會縮小其大小,但它不會調整我的tableview框架(也是視圖的界限,並且還通過一個筆尖)。所以我有了這個黑色的空間,它現在存在於我的導航欄的底部和我的桌面視圖的頂部。

同樣,當我回到導航欄時,導航欄會回到其較大的大小以適應提示,現在與我的tableview框架重疊。

現在,如果我回去並將導航欄上的半透明屬性設置爲YES,則所有內容均可按需使用。是什麼賦予了?

+0

視圖控制器上的edgesForExtendedLayout屬性設置爲什麼? – bilobatum

+0

沒有明確地設置它們,所以UIRectEdgeAll我認爲 –

+0

如果你看到一個黑色的空間,我猜這是UIWindow峯化,還是在視圖層次結構中有黑色背景的視圖? – bilobatum

回答

0

顯然,筆尖的模擬指標會影響視圖層次結構的表現方式。我認爲我們會在運行時解決這些問題,但我想不是。

通過更改筆尖中的模擬指標以顯示不透明狀態欄來解決此問題。

+0

任何人都知道如何解決這個代碼創建的視圖,而不是從一個筆尖? –