1

因此,我当前的应用程序在一些地方使用 UIAlertView,并且在更新到 iOS 8 后,我看到文档中的注释曾经说过 UIAlertView(和 UIActionSheet)自 iOS 8 以来已被弃用并被 UIAlertController 取代。我将它添加到我的待办事项列表中,并且刚刚开始着手重构我的代码以使用新的 UIAlertController 类。

我可以看到一切如何与 UIAlertController 一起工作,尽管我留下了一些 UIAlertView 的用例,我似乎不太容易用 UIAlertController 替换它们。这一切都源于这样一个事实,即 [UIAlertView show] 可以调用以显示一个 alertView,而 UIAlertController 必须使用 presentViewController 方法从另一个 viewController 呈现。问题是我有许多调用来创建警报视图,这些调用来自未直接链接到特定 viewController 的代码,我将不得不重构并通过 viewController 参数传递给每个调用点才能使用 UIAlertControllers . 在我这样做之前,我想知道是否有人知道一种很好的方法来恢复在不知道合适的 ViewController 的情况下仅显示 UIAlertController 的能力。

我还实现了一个调试警报视图宏,它可以让我在警报视图中放置错误消息,这些显然可以从任何地方调用,并且与提供 alertViews 的实际应用程序功能不同,我真的不想在我的所有代码中重构 ViewControllers只是为了使用它们。

有点令人沮丧的是,在弃用某些系统的同时,它们没有提供允许替换系统以与原始功能相同的方式使用的功能。

任何帮助表示赞赏!

4

1 回答 1

0

最后,我通过让我的所有视图控制器在它们将出现为当前视图控制器时注册自己来解决这个问题。然后,每当我需要显示警报时,我手头都有一个 viewController 来显示警报。

不理想,如果在视图转换时需要在尴尬的时间发出警报,那么逻辑上可能存在一些漏洞,但它似乎有效并且没有那么混乱。

令人沮丧的是 API 的这一方面刚刚被删除。

于 2014-11-13T22:09:04.727 回答