关于Swift开发中跳转和传值的实例

Home / iOS MrLee 2016-3-8 3036

菜鸟刚入门Swift编程,刚好要用到一个TabBarViewController,然后一切在Storyboard上面就绪的时候,发现跳转黑屏。于是度娘了一下。发现有篇文章讲的不错。正好解决问题。因为苹果推 Storyboard 而且 目前来看, Apple Watch 也是用 Storyboard 就知道, 明天应用估计都是 Storyboard 的天下了.很多人似乎还是在用 XIB, 对 Storyboard 如何进行跳转 似乎 懵懵懂懂...

利用 self.storyboard

利用 self.storyboard 方法, 就不需要进行 连线, 一样可以进行视图之间的跳转. 但是必须要设置 Storyboard ID. 然后利用 如下方法进行 跳转 和 传值
self.tableViewController = self.storyboard?.instantiateViewControllerWithIdentifier("tabvc") as? TabViewController
self.presentViewController(self.tableViewController!, animated: true, completion: nil)

值可以放在自己的TabViewController类里面,就可以了。

利用 UIStoryboard

XIB 方法, 我们需要 用到 nibName, 同样 如果我们想要 分离多个 sence 在不同的Storyboard 里面, 怎么办?这个时候, 就不能使用 self.storyboard 了.
var storyboard = UIStoryboard(name: "New", bundle: nil)
var newVC = storyboard.instantiateViewControllerWithIdentifier("NewViewController") as NewViewController
newVC.text = "Pass"
self.navigationController?.pushViewController(newVC, animated: true)

是不是 和 XIB 有异曲同工的感觉, 这样就可以把 Storyboard 分几个, 每个里面放几个 Sence.这样的好处就是, 当你需要做多个不同功能的模块的应用, 分离到不同的 Storyboard 中, 彼此互不影响. 相对于 XIB 来说, 每个文件夹 只需要 1 个 Storyboard 文件, 和 Swfit 文件就可以了.
上面要说明一点
那个tabvc是要在storyboard上面设置的。如下图:

F70FF8ED-3554-4D54-918A-CE485361A48B

本文链接:https://www.it72.com/7924.htm

推荐阅读
最新回复 (0)
返回