2011-07-22 154 views
2

這是它。 我有一個UITabBarController內的UINavigationController。 有沒有辦法將導航欄設置爲半透明? 我試過了,編程,設置這樣的:iPhone:UITabBarController內部的半透明導航欄

navigationController.navigationBar.translucent = YES; 

,但沒有任何變化。 我甚至嘗試記錄半透明的值,它實際上是YES,但酒吧仍然是完全不透明的。 導航欄背後的視圖覆蓋了整個屏幕,我甚至可以在(半透明)狀態欄下看到它。我真的不明白。 僅當導航控制器位於TabBar控制器內時纔會發生這一切。編號: 猜猜是什麼?這是xcode搞砸我的筆尖文件... 我重新創建了xib從頭開始,它按預期工作。 還是要謝謝你

+0

我遇到了同樣的問題,我沒有xib。在我的情況下,它被設置爲背景顏色。它必須透明。 – trickster77777

回答

6

您設置了錯誤的屬性:

self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent; 
+0

我也試過(即使它已被棄用),但沒有運氣。 – Luigi

+1

@Luigi:我只是試了一下,它確實有效,加上它沒有棄用(4.0),並且已經有了科學2.0。我建議您閱讀[UINavigationBar上的文檔](http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UINavigationBar_Class/Reference/UINavigationBar.html)並下載[此源代碼](http ://developer.apple.com/library/ios/#samplecode/NavBar/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007418)。 – Zebs

+0

@Zebs現在絕對棄用:['UIBarStyleBlackTranslucent' 已棄用。使用UIBarStyleBlack並將半透明屬性設置爲YES。](http://developer.apple.com/library/IOs/#documentation/UIKit/Reference/UIKitDataTypesReference/Reference/reference.html) – gabrielk

1

我也試圖改變導航欄樣式最近使用的XCode 4.2.1我的UITabBarController基於應用程序。 Zebs給出的代碼在這種情況下是錯誤的。如果您正在使用navigationController工作,你自己創建,那麼這將會是好的,但問題是,在創建的UITabBarController通過的UITabBarController創建navigationController因此正確的代碼是:

self.moreNavigationController.navigationBar.barStyle = UIBarStyleBlack; 

注意,我們使用moreNavigationController而不僅僅是navigationController。希望能幫助所有面臨同樣問題的人。