非常简单的情况。我有一个自定义的UIViewController用于填写表单。当用户点击取消按钮时,我想要弹出警报; "你确定要退出表格吗?您的编辑不会被保存"。如果它们没问题,VC会动画然后关闭。
我将动画置于UIAlertAction处理程序闭包中。然而,动画每次都会立即发生,我假设这是因为UIAlertController在它解除时(按下按钮后)动画,然后中断VC的动画。
有什么想法吗?基本上似乎只要按下按钮就会调用处理程序;如何在UIAlertController完成解雇后调用处理程序。
编辑:以下是一些示例代码来说明问题:
let refreshAlert = UIAlertController(title: "Delete draft?", message: "Are you sure you want to discard this draft? It will not be saved.", preferredStyle: UIAlertControllerStyle.Alert)
refreshAlert.addAction(UIAlertAction(title: "Delete", style: .Destructive, handler: { (action: UIAlertAction!) in
self.animationInPresentionVC() // This animation occurs instantly, it seems to be interrupted by the dismissing alert controller
}))
答案 0 :(得分:2)
也许你可以添加一些延迟来执行你的animationInPresentionVC():
refreshAlert.addAction(UIAlertAction(title: "Delete", style: .Destructive, handler: { (action: UIAlertAction!) in
self.performSelector(#selector(**your animationInPresentionVC**), , withObject: nil, afterDelay:0.3)
}))