iOS 14中MFMailComposeViewController的奇怪行为(Swift)

4

我在我的应用程序中实现了MFMailComposeViewController。但是当我向下滚动然后向上滚动时,navigationBar开始闪烁,并且第一次不显示大标题。为了显示它,我需要从屏幕顶部非常努力地向下滚动到底部。

另一个奇怪的行为,可能与此有关。 如果我在另一个应用程序中打开此表单(在其中它运行良好),然后返回到我的应用程序中,它会在我的应用程序中开始正常工作,直到我将其删除并重新打开它。

也许这很重要:openMailApp函数是从objc ViewController类调用的。

该问题仅出现在iOS14中,在以前的版本中没有问题。

class func openMailApp(vc: UIViewController, delegate: MFMailComposeViewControllerDelegate) {
        let mailComposeViewController = MFMailComposeViewController()

        if MFMailComposeViewController.canSendMail() {
            mailComposeViewController.mailComposeDelegate = delegate
            mailComposeViewController.setToRecipients(["email@gmail.com"])
            mailComposeViewController.setSubject("My subject")
            mailComposeViewController.setMessageBody(".........\n...", isHTML: false)

            vc.present(mailComposeViewController, animated: true, completion: nil)
        }
}

example

1个回答

3

我有一个和你类似的问题。

我发现这是由下面的外观代理引起的:

UINavigationBar.appearance().translucent = false

这个效果在整个应用程序中都是可见的,包括在MFMailComposeViewController中。

尝试设置UINavigationBar.appearance().translucent = true。在我的情况下,它修复了这个问题。


1
谢谢,这对我有用。小加一点 - 需要在您的代码中添加MFMailComposeViewController实例之上。 - VyacheslavB

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接