2015-11-02 36 views
2
 MFMessageComposeViewController *messageController = [[MFMessageComposeViewController alloc]init]; 
     [UINavigationBar appearance].barTintColor = [UIColor colorWithRed:0.0f/255.0f green:127.0f/255.0f blue:254.0f/255.0f alpha:1.0]; 
     [[messageController navigationBar] setTintColor: [UIColor whiteColor]]; 
     messageController.messageComposeDelegate = self; 
     [messageController setBody:message]; 
     [messageController navigationBar].translucent =NO;            
     [messageController.navigationBar setBarTintColor:[UIColor colorWithRed:0.0f/255.0f green:127.0f/255.0f blue:254.0f/255.0f alpha:1.0]]; 
     // Present message view controller on screen 
     [self presentViewController:messageController animated:YES completion:^{ 
     [messageController navigationBar].translucent = NO; 
     }]; 

我一直在使用這段代碼。請讓我知道是否有遺漏。如何更改mfmessagecomposeviewcontroller中導航欄的顏色,同時將其呈現在ios中9

+0

請編輯您的帖子以使代碼可讀。提示:每行縮進4個空格形成一個代碼塊。 – Avi

+0

完成編輯代碼。 –

+0

嘗試移動將tintColor設置爲演示文稿的完成處理程序的行。 – Avi

回答

3

你只需要添加兩行來改變導航欄的顏色。

對於MFMailComposeViewController。

MFMailComposeViewController *mc = [[MFMailComposeViewController alloc] init]; 

[mc.navigationBar setTintColor:[UIColor whiteColor]];//cancel button will be of white color. 
[mc.navigationBar setBarTintColor:[UIColor blackColor]];//bar color will be black. 

if (mc != nil) 
     { 
      mc.mailComposeDelegate = self; 
      [mc setSubject:emailTitle]; 
      [mc setMessageBody:bodyText isHTML:YES]; 
      [mc setToRecipients:toRecipents]; 

      [self presentViewController:mc animated:YES completion:nil]; 

     } 

對於MFMessageComposeViewController

用於改變導航條顏色創建如下面的一種方法。

- (void)setNavBarColor:(UIColor *)navBarColor titleColor:(UIColor *)titleColor { 
    [[UINavigationBar appearance] setBarTintColor:navBarColor]; 
    [[UINavigationBar appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: 
                  [UIFont fontWithName:@"Futura-Medium" size:17.0f], 
                  UITextAttributeFont, 
                  titleColor, 
                  UITextAttributeTextColor, 
                  nil]]; 
} 

並且在初始化MFMessageComposeViewController之前寫下這個方法。 (這是非常重要的,否則它將無法工作)在IOS 9

此代碼工作對我來說也許它會幫助你。

+0

沒有黑色或任何其他顏色沒有出現在導航欄中。也試過這個。 –

+0

我正在使用mfmessagecomposeviewcontroller。在那試過。 –

+0

這對MFMessageComposeViewController來說也不適用於我。 – Avi

相關問題