2017-11-25 20 views
1

以下のコードを使用してMFMailViewControllerを表示しました。すべてがios 11リリースまで完全に機能しました。MFMailComposeViewControllerのナビゲーションバーのios 11の問題

   let mailViewController = MFMailComposeViewController() 
       mailViewController.mailComposeDelegate = self    
       mailViewController.setToRecipients(nil) 
       mailViewController.setSubject("Subject") 
       mailViewController.navigationBar.tintColor = UIColor.green 
       UINavigationBar.appearance().isTranslucent = false 
       self.present(mailViewController, animated: true, completion: nil) 

私が使用しているコードに関係なく、何も機能していません。コントローラーを表示することはできますが、ナビゲーションバーの色合いは変わりません。この問題はios 11でのみ発生します。私は、全体的なアプリナビゲーションバーの色合いを白に設定しました。したがってコントローラでは、緑色ではなく白い色合いの色が得られます。

+0

あなたはself.navigationControllerを試してみましたか?.navigationBar.tintColor = UIColor.green n MFMailComposeViewController()class viewodLoad()メソッド? –

+0

はい。使用しません。 – cgeek

答えて

0

私は最終的に間違っていたものを見つけ、私はこの機能を提示することだし、それはiOSの11

override func viewDidLoad() { 
    super.viewDidLoad() 

    self.present(self.configuredMailComposeViewController(), animated: true, completion: nil) 
} 

func configuredMailComposeViewController() -> MFMailComposeViewController { 
    let mailComposeViewController = MFMailComposeViewController() 
    mailComposeViewController.mailComposeDelegate = self 
    mailComposeViewController.setSubject("Your subject and stuff like that") 

    let nav = self.navigationController?.navigationBar 
    nav?.barStyle = UIBarStyle.default 
    nav?.tintColor = UIColor.green 
    nav?.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.green] 

    return mailComposeViewController 
} 
+0

私は答えがあります。私はそれを投稿しました。ありがとうございました – cgeek

1

に私に罰金見ています。ファイルの1つでUIBarButtonをグローバルに変更しました。

UIBarButtonItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.theme, NSFontAttributeName : UIFont.regularAppFontOfSize(0.0)], for: UIControlState.normal)

私が原因グローバル変更のため、mailViewController.navigationBar.tintColor = UIColor.greenを使用していても、それは何の効果もありませんでした。

しかし、どのような驚きだことで、そこIOS 10以下には問題はなかったが、IOS

いずれかの理由を知っている場合は11で、その感謝しています。