在MFMailComposeViewController上更改发送/取消按钮上的文本颜色

Adr*_*ian 1 uinavigationbar ios swift mfmailcomposeviewcontroller

我正在对应用程序进行最后润色并在物理设备上进行测试.正如我所说的那样,我正在越过终点线提交到App Store,我遇到了颜色MFMailComposeViewController's sendcancel按钮的问题.我在这里挖掘了很多答案,但似乎没有一个能让我超越终点线.

以下方法用于发送电子邮件,但无论我做什么,发送/取消按钮的颜色仍然是默认的蓝色.任何纠正这种情况的建议都非常感谢.

谢谢!

    @IBAction func sendFeedbackEmail(sender: AnyObject) {
        feedbackButton.pop()
        print("sendFeedbackEmail called")
        let mailComposeViewController = configuredMailComposeViewController()
        // mailComposeViewController.navigationBar.translucent = false
        // mailComposeViewController.navigationBar.barTintColor = UIColor.whiteColor()
        // mailComposeViewController.navigationItem.rightBarButtonItem?.tintColor = UIColor.whiteColor()
        // mailComposeViewController.navigationItem.leftBarButtonItem?.tintColor = UIColor.whiteColor()
        // UIBarButtonItem.appearance().tintColor = UIColor.whiteColor()

        if MFMailComposeViewController.canSendMail() {
            self.presentViewController(mailComposeViewController, animated: true, completion: nil)
        } else {
            self.showSendMailErrorAlert()
        }
    }

    func configuredMailComposeViewController() -> MFMailComposeViewController {
        let mailComposerVC = MFMailComposeViewController()
        mailComposerVC.mailComposeDelegate = self
        // UIBarButtonItem.appearance().tintColor = UIColor.whiteColor()
        // UINavigationBar.appearance().barTintColor = UIColor.whiteColor() // optional to change bar backgroundColor
        mailComposerVC.navigationBar.translucent = false
        mailComposerVC.navigationBar.barTintColor = UIColor.whiteColor()
        mailComposerVC.setToRecipients(["frustratedDev@gmail.com"])
        mailComposerVC.setSubject("Feedback")

        return mailComposerVC
    }
Run Code Online (Sandbox Code Playgroud)

Abh*_*ain 8

Swift 4.0

mailComposeViewController.navigationBar.tintColor = UIColor.red
Run Code Online (Sandbox Code Playgroud)