ios - UIAlertAction 处理程序未在 iOS 9 上跨 UIWindows 调用

标签 ios handler uialertcontroller uiwindow uialertaction

我正在尝试使用专用的 UIWindow用于展示UIAlertControllers .一切都很顺利,直到我意识到 UIAlertActions 上的处理程序附于UIAlertControllers如果他们是由另一个 UIWindow 上的 Controller 提供的,则不会被解雇.

如果我出示 UIAlertController从主窗口上的任何 viewController 都会触发处理程序,如果我从警报窗口的 rootViewController 呈现它,则不会触发处理程序。

关于我在这里可能遇到的任何提示?谢谢!

编辑: Test Project说明问题。

已解决:我忘记在覆盖 dismissViewControllerAnimated:completion: 时调用完成 block 在我的 alertWindowRootViewController 子类中。

最佳答案

我无法想象你为什么要这样做。但我的猜测是,Apple 正在优化不是关键窗口的窗口上的一些操作。

无论简短的回答是什么,您都不应该这样做。

关于ios - UIAlertAction 处理程序未在 iOS 9 上跨 UIWindows 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33003548/

相关文章:

ios - UIAlertController - 默认覆盖 ActionSheet?

ios - 从Appstore中删除应用并上传具有相同名称的新应用

ios - 如何在 iOS swift 中将 subview 添加到另一个中心对齐的 subview 。

ios - 如何使用 Parse API 搜索用户并将用户添加为 PFRelation?

Android:使用处理程序 post.delayed 两次

javascript - 禁用 jQuery 函数 onClick 然后启用函数

json - 如何在 Alamofire 请求 swift 3 上发出警报

iOS:在 Swift 中重新创建 addTarget() 的最佳实践?

ios - 如何在 Collection View 中获取索引 path.item - 1 处的单元格

ios - iPhone 5s 和 iPhone 6 之间的区别(tcp)