tvOS App UIAlertController选择操作按钮后不会立即调用UIAlertAction处理程序

时间:2016-03-10 00:07:55

标签: swift ios9 tvos uialertcontroller ios9.1

在我的tvOS应用程序中,我显示了一个带有UIAlertAction处理程序的UIAlertController。直到长时间(10秒以上)延迟后才会调用处理程序。我已经将UIAlertController包装在一个gcd块中,以确保它在主线程上被调用。如果我将UIAlertController的动画设置为true,那么在选择动作按钮后UIAlertController不会被解除。如果我将UIAlertController的动画设置为false,则在选择动作按钮后,UIAlertController将被解除,但是在长时间延迟(10秒)之后UIAlertAction处理程序才会被调用,并且ui没有响应。

dispatch_async(dispatch_get_main_queue(), { () -> Void in
            let alertController = UIAlertController(title: title, message: message, preferredStyle: .Alert)
            let cancelAction = UIAlertAction(title: PWAlertButtonType.No.rawValue, style: .Cancel, handler: { action in
                self.didSelectUnsavedChangesNoButtonType()
            })
            alertController.addAction(cancelAction)

            let OKAction = UIAlertAction(title: PWAlertButtonType.Yes.rawValue, style: .Default, handler: { action in
                self.didSelectUnsavedChangesYesButtonType()
            })
            alertController.addAction(OKAction)
            self.presentViewController(alertController, animated: false, completion:nil)
        })

0 个答案:

没有答案