【问题标题】:How to move to multiple view controllers?如何移动到多个视图控制器?
【发布时间】:2014-06-03 19:46:36
【问题描述】:

我想使用 Apple 的新 Swift 语言以编程方式从一个 viewController 移动到另一个。我已经用谷歌搜索并阅读了文档,并且了解了如何使用单个 ViewController。有没有人有关于如何在视图控制器之间切换的示例或文档?

【问题讨论】:

  • 您能提供一些您尝试过的代码吗? :) 谢谢!
  • 我还没有尝试太多。我在 AppDelegate 中添加了第二个视图控制器,如下所示: var itemsViewController: BNRItemsViewController = BNRItemsViewController() 但我不确定如何将它实际推送到视图控制器堆栈的顶部。我现在正在尝试“presentViewController”,但这仅在您位于 UIViewController 子类对象中时才有效。
  • 这不就是你一直这样做的方式吗?
  • 我对目标 C 有点陌生,但不是吗?通常在我的 AppDelegate.m 中,我加载我的默认视图控制器(这似乎在 Swift 中神奇地发生了?)然后从那里,我可以加载不同的视图控制器。我想现在我会使用故事板。

标签: uiviewcontroller swift


【解决方案1】:

UIViewController 的类文档中有很多方法可以做到这一点。

示例 1 下面是一个使用-presentViewConroller: 方法的例子(假设这段代码写在UIViewController 子类中):

var secondViewController = UIViewController() //create your second view controller. 
self.presentViewController(secondViewController, true, NULL)

示例 2 这就是您通过故事板呈现第二个UIViewController 的方式(再次假设此代码是在UIViewController 子类中编写的):

self.preformSegueWithIdentifier("segueIdentfier", self);

【讨论】:

  • 那么接受的方法(我意识到语言是超新的)使用 ViewController.swift 文件作为“默认”视图控制器,然后通过那里加载其他视图控制器,当事情发生时?
  • 这就是您以编程方式执行此操作的方式,尽管我认为使用故事板会更常见。
  • 我想一个更好的问题是如果我创建一个空应用程序,我没有情节提要或 ViewController。如果我创建一个 UIViewController 类,让它加载到 AppDelegate 中有什么魔力?
  • 不应该是nil 而不是NULL?一般来说,我是 swift 和 iOS 编程的新手,但我总是在示例中找到第一个...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-18
  • 2020-03-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多