UIAlertController 延迟显示

UIAlertController Showing With Delay

我的 UIAlert 有很多延迟,每当它加载时,我都必须等待才能单击,然后再次单击它才能完全消失。我查看了建议使用 dispatch_async(dispatch_get_main_queue(), {}) 的其他答案。我试过使用它但无济于事。在我正在制作的场景套件游戏的渲染循环期间弹出警报(场景只是一个立方体,当我暂停场景时它仍然延迟)。无论如何都不应该在渲染线程中完成渲染。我查看了时间配置文件日志,看看是否有什么东西阻塞了主线程,但我没有看到任何引起我注意的东西(我对仪器还很陌生)。

这是我创建警报的代码:

func share(){
    print("share funciton")
    let alert = UIAlertController(title: "Share", message: "Where do you want to share?", preferredStyle: UIAlertControllerStyle.Alert)
    alert.addAction(UIAlertAction(title: "Twitter", style: .Default, handler: {(alert: UIAlertAction!) in
        print("twitter")
        
        self.showTwitter()
    }))
    self.presentViewController(alert, animated: false, completion: nil)
}

private func showTwitter() {
    if SLComposeViewController.isAvailableForServiceType(SLServiceTypeTwitter) {
        
        let tweetShare:SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeTwitter)
        
        self.presentViewController(tweetShare, animated: true, completion: nil)
        
    } else {
        
        let alert = UIAlertController(title: "Accounts", message: "Please login to a Twitter account to tweet.", preferredStyle: UIAlertControllerStyle.Alert)
        
        alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil))
        
        self.presentViewController(alert, animated: true, completion: nil)
    }
}

然后我在渲染循环中使用 dispatch_asych 调用 share()。我已经在这个错误上工作了三天,但不知道是什么导致了延迟。

尝试关闭慢速动画。打开模拟器 -> 调试 -> 慢动画