首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在iOS 14中自定义MFMailComposeViewController

如何在iOS 14中自定义MFMailComposeViewController
EN

Stack Overflow用户
提问于 2021-02-25 15:16:44
回答 1查看 85关注 0票数 2

我想在我的应用程序中自定义MFMailComposeViewController样式和它的行为,但我所有的尝试都失败了。我尝试了几种方法:第一种方法:

代码语言:javascript
运行
复制
let mailComposeViewController = MFMailComposeViewController()
...
UINavigationBar.appearance().tintColor = UIColor.red //don't see changes
UINavigationBar.appearance().barTintColor = UIColor.green //don't see changes
UINavigationBar.appearance().backgroundColor = UIColor.yellow //don't see changes
UINavigationBar.appearance().isTranslucent = false //don't see changes
UINavigationBar.appearance().clipsToBounds = false //don't see changes
UINavigationBar.appearance().prefersLargeTitles = false //don't see changes

present(mailComposeViewController, animated: true, completion: nil)

第二种方式:

代码语言:javascript
运行
复制
extension MFMailComposeViewController {
    open override func viewDidLoad() {
        super.viewDidLoad()
        self.navigationBar.clipsToBounds = true //don't see changes
        self.navigationBar.prefersLargeTitles = false //don't see changes
        self.navigationBar.isTranslucent = false //don't see changes
        self.navigationBar.barTintColor = UIColor.green //don't see changes
        self.navigationBar.tintColor = UIColor.red //only this works!
    }
}

PS我最感兴趣的是将prefersLargeTitles更改为false或更改navigationBarStyle,如下所示:

我的结果:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-25 15:47:12

来自苹果:

重要您不能修改此视图控制器显示的视图层次结构。但是,您可以使用UIAppearance协议。

我认为Apple在第二种方式上不赞成你的代码,你不应该修改这个视图。但是,请尝试:

代码语言:javascript
运行
复制
UINavigationBar.appearance().tintColor = UIColor.red 
UINavigationBar.appearance().barTintColor = UIColor.green 
UINavigationBar.appearance().backgroundColor = UIColor.yellow 
UINavigationBar.appearance().isTranslucent = false 
UINavigationBar.appearance().clipsToBounds = false 
UINavigationBar.appearance().prefersLargeTitles = false 

let mailComposeViewController = MFMailComposeViewController()
present(mailComposeViewController, animated: true, completion: nil)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66363945

复制
相关文章

相似问题

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