2013-07-08 48 views
0

我設置了外觀協議,爲我的所有導航欄添加自定義圖像。這是按預期工作的,但我不想改變MFMailComposeViewController導航欄的外觀。郵件撰寫視圖控制器導航欄

如何製作此導航欄,默認導航欄?

[[UINavigationBar appearance] setBackgroundImage:[ApplicationStyle navigationBarImage] forBarMetrics:UIBarMetricsDefault]; 

回答

1

appearance代理讓你當它通過-appearanceWhenContainedIn方法包含在一個特定的類來修改UI的外觀。您可以將圖像設置爲nil,以防止它顯示在MFMailComposeViewController類中,如下所示。 [[UINavigationBar appearanceWhenContainedIn:[MFMailComposeViewController class],nil] setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];

根據這個問題,您需要在呈現模態MFMailComposeViewController之前和之後更改外觀代理,以便將其外觀改回原樣。

Override UIAppearance property for MFMailComposeViewController

+0

我試過了,並且它不工作 – Vikings

+0

這是奇怪的,我已經用了完全一樣的目的,上面的代碼,它的完美。關於同一事件的所有其他問題也提供相同的答案。你確定你沒有重寫導航欄外觀嗎? –

+0

您是否確定iOS 6的這一功能,並且我不會覆蓋其他地方的外觀 – Vikings

相關問題