2010-11-21 126 views
1

當我試圖推我的MFMailComposeViewController它說我不能推導航控制器?!唔...不知道。MFMailComposeViewController是一個導航控制器嗎?

基本上所有我的視圖控制器實際上是CustomUIViewController的子類,它自動從導航欄中刪除標題視圖(因爲我在導航欄中有一個標誌)。

呈現我的MFMailComposeViewController模態將標題放回那裏,因爲我不能使它的子類CustomUIViewController(或我可以?我不知道?)。

所以我真的需要一種方法來從MFMailComposeViewController中刪除標題視圖。

感謝

湯姆

+0

「從UINavigationController的繼承:UIViewController中:UIResponder:NSObject的」 - http://developer.apple.com/library/ios/#documentation/ MessageUI/Reference/MFMailComposeViewController_class/ – 2010-11-21 16:01:28

+0

大聲笑,謝謝 - 爲什麼它被稱爲MFMailComposeViewController呢?! :p – 2010-11-21 16:33:20

+0

它被稱爲是因爲它是UINavigationController ^^的子類。 – Rengers 2010-11-21 16:36:17

回答

0

幾個簡單的選擇:

  • 子類MFMailComposeViewController了。
  • 不要繼承CustomUIViewController;重寫UIViewController(icky)類別中的一些方法。
  • 隱藏在UINavigationBar的
0

考慮標題視圖中包含的取消和發送按鈕,我不知道你想刪除它。你可以嘗試改變在導航欄標題的實際使用

mailController.navigationItem.titleView = myLogo;

其中應設置導航項目的該中心面積爲您的標誌,而不是一些文本。

+0

嗯,不起作用。 :/謝謝你的幫忙 – 2010-11-21 16:01:03

+1

也許'mailcontroller.topViewController.navigationItem.titleView = myTitleView;' – Rengers 2010-11-21 16:40:36

+0

標題視圖大概是中間的那個;取消和發送按鈕是leftBarButtonItem和rightBarButtonItem。 – 2010-11-21 18:42:22

-1

的一個類別標題項目雖然這將是很好過的外觀,以獲得更多的控制,我不認爲這是一個乾淨的方法。當你不能改變它,我想你應該隱藏:

[[UINavigationBar appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjects: [NSArray arrayWithObjects:[UIColor clearColor], nil] forKeys:[NSArray arrayWithObjects:UITextAttributeTextColor, nil]]]; 
相關問題