gpt4 book ai didi

ios - MFMailComposeViewController 在 iOS 13 模拟器和设备中的行为不同

转载 作者:行者123 更新时间:2023-12-01 10:05:20 25 4
gpt4 key购买 nike

我正在尝试显示 MFMailComposeViewController在一个应用程序中。

if MFMailComposeViewController.canSendMail() {
let mailComposeViewController = MFMailComposeViewController()
mailComposeViewController.navigationBar.tintColor = .white
mailComposeViewController.mailComposeDelegate = self
mailComposeViewController.setToRecipients(["support@gmail.com"])
mailComposeViewController.setSubject("Feedback")
present(mailComposeViewController, animated: true)
} else {
print("This device is not configured to send email. Please set up an email account.")
}

在 iOS 12 中,它显示没有问题。在模拟器和设备中。

enter image description here

但是当我在运行 iOS 13 的设备上运行相同的项目时,它看起来像这样。

enter image description here

导航栏颜色消失了。发送按钮也是不可见的。

所以我加了 mailComposeViewController.navigationBar.backgroundColor = .mv_primary但它仍然没有显示在设备上。奇怪的是,模拟器中显示的背景颜色。

但是有一个奇怪的行为。 MFMailComposeViewController当我在模拟器中运行它时,它会立即自行解散。

enter image description here

以下错误也显示在 Xcode 控制台中。

[Common] [FBSSystemService][0x5f27] Error handling open request for com.apple.MailCompositionService: { userInfo = { FBSOpenApplicationRequestID = 0x5f27; } underlyingError = ; } 2019-11-01 14:40:05.214158+0530 MailCompose[11289:262267] [Assert] Connection request invalidated without resuming our _serviceSessionConnection. This is an error. 2019-11-01 14:40:05.216901+0530 MailCompose[11289:262054] [General] #CompositionServices _serviceViewControllerReady: NSError Domain=_UIViewServiceInterfaceErrorDomain Code=0



我猜奇怪的关闭错误是一个 Xcode 错误。但是如何修复设备中未显示的背景颜色和发送按钮?

这就是我设置所有导航栏相关样式的方式。
UINavigationBar.appearance().barTintColor = .mv_primary
UINavigationBar.appearance().tintColor = .white
UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
if #available(iOS 11.0, *) {
UINavigationBar.appearance().largeTitleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
}

Demo project

最佳答案

在呈现之前添加这行代码。它会正常工作。这是 iOS 13 中的一个变化

mailController.modalPresentationStyle = .fullScreen

关于ios - MFMailComposeViewController 在 iOS 13 模拟器和设备中的行为不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58656920/

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