使用UIActivityViewController共享内容后的空白屏幕

Sae*_* N. 9 ios uiactivityviewcontroller swift

我使用以下代码分享一些内容

var textToShare = "Test"
let activityVC = UIActivityViewController(activityItems: [textToShare], applicationActivities: nil)
activityVC.excludedActivityTypes = [UIActivityTypePrint, UIActivityTypeCopyToPasteboard, UIActivityTypeAssignToContact]

presentViewController(activityVC, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

但是,当我按下取消按钮或成功共享内容时,应用程序显示一个空白屏幕.

如何解决这个问题?

更新:

当我为共享目标选择邮件或短信应用程序时,就会出现空白屏幕,对于电报,Twitter和Facebook,它是完美的.

我评论了生命周期方法中的所有代码,仍然是同样的问题.

override func viewDidAppear(animated: Bool)
{
    //setControlsAreHidden(true)
}

override func viewWillAppear(animated: Bool)
{
    //if dataAddedToView
    //{
    //     activityIndicator?.removeFromSuperview()
    //}

}

override func viewWillDisappear(animated: Bool)
{
    //setControlsAreHidden(false)
}
Run Code Online (Sandbox Code Playgroud)

小智 2

我遇到了同样的问题,并且能够通过调整主 UIView 的大小限制来解决它。

之前的代码:

override func loadView() {
    self.view                                           = UIView()
    self.view.translatesAutoresizingMaskIntoConstraints = false
}
Run Code Online (Sandbox Code Playgroud)

之后的代码:

override func loadView() {
    self.view                                           = UIView()
}
Run Code Online (Sandbox Code Playgroud)

所以只需删除self.view.translatesAutoresizingMaskIntoConstraints = false

这可能并不适用于所有人,但根据其他人的回答,我认为视图的显示方式存在各种问题,可能会导致相同的问题。如果我的修复对您不起作用,我建议注释掉所有不必要的代码,直到问题消失,然后有条不紊地使一小部分重新上线,并一路进行测试以确定您的问题。