HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 通过UIActivityViewController更改MFMailComposeViewController中的状态栏颜色大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图改变导航栏按钮的颜色,导航栏色调颜色和文字颜色,但是我似乎没有得到任何地方. MFMailComposeViewController正在通过一个UIActivityViewController激活,我已经尝试了一些以前工作的不同方法(不通过UIActivityViewController).

这是我当前的代码

UINavigationBar.my_appearanceWhenContainedIn(MFMailComposeViewController).barTintColor = UIColor.blackColor()

这是建议here.我也试过这个:

activityVC.navigationController?.navigationBar.TintColor = UIColorFromRGB(0x0096FF)
    activityVC.navigationController?.navigationBar.barTintColor = UIColor.whiteColor()

我也想改变状态栏颜色.

任何人都有什么想法?

更新:

我修复了按钮和标题的导航栏问题,但仍在寻找状态栏的解决方案.这样做不行:

self.presentViewController(activityVC,animated: true,completion: { () in
        UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.Lightcontent,animated: truE)
    })

解决方法

@H_450_23@ 您可以对MFMailViewController进行子类化,并覆盖其viewWillAppear方法
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()
}

由于只有当MFMailComposeViewController处于活动状态时,才希望状态栏为Lightcontent,所以您不应该将

UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.Lightcontent

进入你的应用程序代表didFinishLoading.这将为您的整个应用程序设置Lightcontent.

大佬总结

以上是大佬教程为你收集整理的ios – 通过UIActivityViewController更改MFMailComposeViewController中的状态栏颜色全部内容,希望文章能够帮你解决ios – 通过UIActivityViewController更改MFMailComposeViewController中的状态栏颜色所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。