【问题标题】:How to create UIViewController (and controls) before (without) showing the controller如何在(不)显示控制器之前创建 UIViewController(和控件)
【发布时间】:2017-10-03 07:28:41
【问题描述】:

在我的应用程序启动时,我想创建一个 UIViewController 和控件。但我不想表现出来。

这只是我希望仅在需要时显示的某些活动的状态视图控制器。但是状态需要在后台更新。所以控件需要初始化,不需要调用 ShowViewController 或 PresentViewController。

请帮忙。

更新

好的,更多信息。我在后台有一个同步线程,它不断发布关于连接等的状态到这个 UIViewController。当用户启动应用程序时,他可能不想看到状态。在同步进行时,如果用户启动 UIViewController,他应该能够看到“正在进行”状态。所以这不是我可以存储在静态对象中并在视图创建时显示的一次性状态。同步进行时状态将不断变化。我是 iOS 编程新手。

【问题讨论】:

  • 你尝试了什么?
  • 为什么要将UIViewController and is controls 更新为后台?,在某些活动中,您应该直接将要显示的值传递给控件视图控制器或将其全局存储并在显示控件视图控制器时获取它们
  • 而不是让这变得比它需要的复杂得多(在后台线程中处理 UI)。为什么不简单地将数据存储在某个地方并让这个 viewController 在viewDidLoadviewWillAppear 中获取它
  • 感谢您的所有建议。是的,你们都说得对,viewController 必须从一些数据中获取。请您让我知道我的要求是否在技术上可行。如果有,怎么做?
  • @GautamJain 您的问题基本上是“我如何编写我的应用程序?”。这太宽泛了。请更新此问题或询问新问题,明确指出您遇到问题的领域,以及您尝试解决的问题。

标签: ios uiviewcontroller


【解决方案1】:

您应该将状态(或发生的不同事情要查看的事情)存储在静态对象中。并根据这个静态对象准备显示事物的 ViewController,改变 viewWillAppear 方法中的 UIElement 属性。一旦您更改了状态并希望弹出视图,只需通过 PresentViewController 初始化 ViewController。

【讨论】:

  • 谢谢萨姆森。在我的问题中添加了一段详细信息。
猜你喜欢
  • 1970-01-01
  • 2012-05-04
  • 2011-10-12
  • 2014-04-18
  • 2011-02-12
  • 2017-03-17
  • 1970-01-01
  • 1970-01-01
  • 2011-06-23
相关资源
最近更新 更多