首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MFMailComposeViewController中将状态栏更改为白色?

如何在MFMailComposeViewController中将状态栏更改为白色?
EN

Stack Overflow用户
提问于 2017-09-01 10:44:23
回答 3查看 725关注 0票数 0

图如下所示。

在我的应用程序中,a添加了一个电子邮件提示,但是状态栏现在是黑色,如何将其更改为白色样式

代码语言:javascript
复制
if MFMailComposeViewController.canSendMail() {
            let composeMail = MFMailComposeViewController()
            composeMail.mailComposeDelegate = self
            //  configs
            composeMail.setToRecipients(["kylebing@163.com"])
            composeMail.setSubject("【饥荒口袋】反馈")
            composeMail.setMessageBody("问题页面:\n\n\n\n建议:\n", isHTML: false)
            composeMail.navigationBar.tintColor = UIColor.white.withAlphaComponent(0.85) // Mail VC's Button Color
            // TODO: - Change status bar color
            //  show it
            self.present(composeMail, animated: true, completion: nil)
}

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-09-01 11:01:27

尝试在完成处理程序中设置statusBarStyle,而present邮件控制器如下所示

代码语言:javascript
复制
self.present(composeMail, animated: true, completion:{ () in
     UIApplication.shared.statusBarStyle = UIStatusBarStyle.lightContent
})

希望它能成功。

票数 0
EN

Stack Overflow用户

发布于 2017-09-01 10:54:06

在您呈现邮件编写器之前调用此方法,

代码语言:javascript
复制
func setStatusBarBackgroundColor(color: UIColor) {

        guard let statusBar = UIApplication.shared.value(forKeyPath: "statusBarWindow.statusBar") as? UIView else { return }

        statusBar.backgroundColor = color
    }
票数 0
EN

Stack Overflow用户

发布于 2017-09-01 10:52:01

在viewWillAppear中:

代码语言:javascript
复制
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent
self.navigationController.navigationBar.translucent = false
self.navigationController.navigationBar.opaque = false
self.navigationController.navigationBar.barTintColor = UIColor.blueColor()}

以更改整个应用程序的状态栏颜色,在app委托中编写这一行代码

代码语言:javascript
复制
UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent

进入您的应用程序委托didFinishLoading。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45998520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档