我使用下面的代码来呈现一个 MFMailViewController。在 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)
无论我使用什么代码,都不起作用。我能够展示一个 controller ,但导航栏的色调颜色没有改变。此问题仅适用于 ios 11。我已将整体应用程序导航栏色调颜色设置为白色。因此在 Controller 中我得到的是白色而不是绿色。
最佳答案
我终于找到问题所在了。我在其中一个文件中全局修改了 UIBarButton。
UIBarButtonItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.theme, NSFontAttributeName : UIFont.regularAppFontOfSize(0.0)], for: UIControlState.normal)
尽管我使用了 mailViewController.navigationBar.tintColor = UIColor.green
,但由于全局修改,它没有任何效果。
但令人惊讶的是,在ios 10及以下没有问题,但在ios 11中。
如果有人知道原因,不胜感激。
关于MFMailComposeViewController 的导航栏中的 ios 11 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47483682/