【问题标题】:Showing a view controller across the app在应用程序中显示视图控制器
【发布时间】:2018-03-20 19:06:33
【问题描述】:

我有一个视图控制器,它应该在应用程序的任何地方隐藏和显示,而无需再次初始化它。所以我只想知道我怎样才能做到这一点。就像通过将该视图控制器添加为 childView 或将其呈现给导航控制器或其他任何东西。

这个想法是视图控制器可以在应用程序的任何屏幕上显示或隐藏。

【问题讨论】:

  • 烦人,但仍然很重要 - 你没有“显示”UIViewController,你显示它的根视图(或UIView)。你能更具体地谈谈你的问题吗?也许包括一些代码?谢谢。
  • 您可以在启动时将其创建为您的应用程序委托的属性,然后根据需要请求它。更简洁的方法是创建一个单独的工厂类,该类在第一次请求时构建控制器,然后将其保存以供以后请求。

标签: ios uiviewcontroller uinavigationcontroller


【解决方案1】:

您可以将视图控制器作为可可触摸类...并且您可以向其中添加 xib..一旦您为视图控制器设计了界面..

您可以创建一个单例类并像这样保留共享实例:

class YourViewController: UIViewController {

static let sharedInstance = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "yourStoryBoardId")

}

要展示这一点,只需这样做:

func someFunc() {

 show(YourViewController.sharedInstance, sender: self)

}

我曾经在我的一个应用程序中做过类似的事情。我认为这是一种标准方法。

You could also see this for more info and source

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    相关资源
    最近更新 更多