再一次,我幾乎完全肯定這是我做的一些愚蠢的事情,但是我一直對我的頭撞幾個小時&沒有任何地方。爲什麼我的應用程序導航欄上有20像素高的黑色覆蓋圖?
我試圖重構我的應用程序的視圖層次結構。我需要能夠全局檢測用戶界面方向更改,以正確旋轉應用程序下載內容時顯示的「加載」視圖。 (設備方向更改似乎在不同時間觸發,導致需要響應這些事件以偶爾旋轉的視圖)。
該應用程序以前在主窗口中添加了UINavigationController的視圖。我修改了層次結構以將UIViewController子類的視圖添加到主窗口,並將UINavigationController的視圖添加到子類的視圖。 UIViewController的子類管理着「加載」子視圖的顯示&旋轉,我希望應用程序的其餘部分繼續正常運行,因爲向層次結構中插入一個額外的空視圖並不像我改變太多。
我最初的問題是UINavigationController的定位 - 它是20像素太低,導致狀態欄和導航欄之間的差距,並切斷標籤欄的底部20像素。我可以通過將UINavigationController的視圖的frame屬性設置爲UIViewController的視圖的bounds屬性來進行調整,該視圖糾正了位置。
但是,現在我被一個20像素高的黑色「疊加」卡在我的導航欄上。如果我猜測,我會說它是黑色的,有50%的不透明度。此欄上的觸摸事件不起作用(例如,如果我嘗試通過疊加層輕按「後退」按鈕,則不會發生任何事情)。事實上,身高棒等於狀態欄的高度並沒有逃脫我,但我完全喪失了可能導致它的原因。
我討厭這種感覺愚蠢的,因此,如果任何人有任何深入瞭解這個問題,你真的讓我很快樂。提前致謝!
發佈代碼可以幫助人們幫助你。 – Aidanc 2011-02-15 00:35:45