gpt4 book ai didi

ios - 无法更改 MFMailComposeViewController 上的 UIStatusBarStyle

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:03:12 24 4
gpt4 key购买 nike

我目前使用 iOS 7 机制来定义 UINavigationController 子类上的 (UIStatusBarStyle)preferredStatusBarStyle 选择器来控制状态栏在模态呈现 View 中的外观(返回 UIStatusBarStyleLightContent)。使用 MFMailComposeViewController 实例,我无法以任何方式影响状态栏的外观。

问题似乎是 MFMailComposeViewController(它是一个 UINavigationController 子类)的顶层 View 是一个 MFMailComposeInternalViewController,它是私有(private)的和无证的,似乎是我不应该惹的事。尝试子类化或创建它的类别会产生编译器错误。它的 preferredStatusBarStyleUIStatusBarStyleDefault,我希望它是 UIStatusBarStyleLightContent

其他答案建议将“View controller-based status bar appearance”的 plist 值设置为 NO,但我无法在不影响应用程序其他部分的情况下执行此操作。有什么办法可以改变这个状态栏的外观吗?

最佳答案

MFMailComposeViewController,自 iOS6 以来,它实际上并不是真正的 View Controller ,或者更确切地说,它不包含邮件撰写 View Controller 的真实 View 层次结构。相反,它是远程 View Controller 的代理,由完全不同的进程使用 XPC 绘制。

即使您重写或调整 MFMailComposeViewController 类中的方法,您也无法影响其行为。这是 Apple 故意的。

更多关于远程 View Controller 和 XPC 的信息在这里: http://oleb.net/blog/2012/10/remote-view-controllers-in-ios-6/

关于ios - 无法更改 MFMailComposeViewController 上的 UIStatusBarStyle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18884229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com