2013-10-17 46 views
1

我在導航控制器中只能看到一個地圖。在地圖上使用彩色半透明導航欄

導航欄是半透明的,因此可以通過它輕微地看到地圖。

此工作正常,導航欄色調設置爲默認值,但只要將條形色調更改爲特定顏色,導航欄背景就會變爲完全透明。

有趣的是,這個問題不會發生在模擬器中,只發生在真正的iPhone上(一個4(不是S),以防可能相關)。

我沒有添加任何代碼 - 我放在一起的所有東西都是純粹在Interface Builder中生成的。

有沒有人有任何想法可能在這裏發生什麼,我可能做錯了什麼?或者這是我需要向Apple報告的錯誤?

回答

1

您需要將酒吧的半透明屬性設置爲true。從Apple文檔UINavigationBar的:

barTintColor 

The tint color to apply to the navigation bar background. 
This color is made translucent by default unless you set the translucent property to NO. 

當您設置色調顏色上UINavigationBar的,它設置半透明的假。不幸的是,不能在外觀代理上設置半透明。您需要在所有viewWillAppear:方法中添加self.navigationController.navigationBar.translucent = YES(或創建自己的子類,以更改默認值)

+0

我添加了self.navigationController.navigationBar.translucent = YES;進入我viewWillAppear方法的視圖控制器,並排序它感謝。不幸的是,我然後試圖將這種方法擴展到一個帶有地圖的桌面視圖。導航欄背景再一次變得透明,只要其中有地圖的單元格位於tableview中。有什麼建議麼? – bcl

+0

我不明白你在說什麼。你想在桌面視圖上的導航欄是半透明的,或不? – wombat57

+0

這似乎是iOS 7中的一個已知錯誤,與您的原始問題無關。這裏有一個前面的討論:http://stackoverflow.com/questions/18917888/mkmapview-makes-the-navigation-bar-gets-transparent – wombat57