【问题标题】:Displaying UIAlertController on top most UIViewController在最顶部的 UIViewController 上显示 UIAlertController
【发布时间】:2019-05-14 19:49:28
【问题描述】:

我正在使用 UIAlertController 创建警报,我希望警报显示在当前正在显示的任何视图控制器上。这个应用程序有大约 30 个不同的视图控制器,我需要在当前显示的任何视图上显示警报。有没有人建议以最简单的方式做到这一点。

我使用 NSTimer 每 30 秒在其中一个视图上调用一个函数,以寻找来自 SOAP 服务的响应。如果我的 SOAP 服务有响应,我希望能够知道当前正在使用哪个视图并显示警报。

【问题讨论】:

    标签: objective-c uiviewcontroller


    【解决方案1】:

    您可能希望轮询 SOAP 服务的代码生成广播通知,并且您的每个视图控制器都将观察该通知。有可能所有的 viewController 都会同时收到通知,但我怀疑只有前台 viewController 可以对其进行操作(或者,您需要某种方式让 viewController 知道它是活动的 viewController,如果不是激活一个,忽略通知)。或者,您可以在 viewController 出现时执行 addObserver,并在 viewController 消失时移除观察者。

    看到这篇文章:

    Send and receive messages through NSNotificationCenter in Objective-C?

    【讨论】:

    • 谢谢迈克尔。这正是我所需要的。我给了你一个赞成票,但我没有足够的代表来发帖。
    【解决方案2】:

    self.window?.rootViewController?.navigationController?.topViewController 返回栈顶视图控制器

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-15
      • 1970-01-01
      • 2022-11-02
      • 2021-08-09
      • 1970-01-01
      相关资源
      最近更新 更多