好吧,我承认我喜欢这样的多个 StoryBoard 组织的方式,学习了!

以下转载内容很不错,后续补充从官方文档疏理出来的脉络,确实很好的用法。

Storyboard 跳转 和 传值

写在前面:

因为苹果推 Storyboard 而且 目前来看, Apple Watch 也是用 Storyboard 就知道, 明天应用估计都是 Storyboard 的天下了.

(水平有限, 不对之处在所难免, 望海涵)

很多人似乎还是在用 XIB, 对 Storyboard 如何进行跳转 似乎 懵懵懂懂...

好吧, 鉴于 早上群里, 有人问 怎么跳转, 怎么传值 等等问题. 就做下总结, 同时为大家 提供一些方法和参考.

------------------

1. 最简单的方法

拖拽, 这个就不用多解释了吧. 直接拖拽到另一个视图控制器, 选择 show, 就行了.

2. 利用 Segue 方法 (这里主要是 方法1 的传值)

连好线, 点击 连线中间部分, 设置 Identifier.

然后 调用 performSegueWithIdentifier 方法.

(注: Demo 里面, 是直接将 TableViewController 和 SecondViewController 进行连线, 而不是 点击 Cell 的 indicator 进行连线)

执行以下 方法, 就可以进行 跳转操作了.

复制代码

  1. performSegueWithIdentifier("SecondSegue", sender: self)

如何传值?

很简单, 需要调用 prepareForSegue 方法 (因为这里是 父视图 -> 子视图 传值, 所以要用 destinationViewController)

复制代码

  1. override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
  2. var theSegue = segue.destinationViewController as SecondViewController
  3. theSegue.text = "Pass"
  4. }

(注: 这里, Swift 的 自动补全可能失效, 所以 如果没有出现 destinationViewController, 没关系往后打.)

这里的 text 是我在 子视图中 声明的变量, 用来设置 Label 的 值.

PS:
一般, 我们都用使用连线的方式, 这里告诉大家另一个方式, 就是用 viewWithTag. 我先前在 Label 控件 Tag 中设置为 100.

当然你也可以使用连线, 使用 viewWithTag 可以在我们自定义 Cell 的时候 方便用到, 而不需要创建单独的 Cell class.

3. 利用 self.storyboard

利用 self.storyboard 方法, 就不需要进行 连线, 一样可以进行视图之间的跳转. 但是必须要设置 Storyboard ID.

然后利用 如下方法进行 跳转 和 传值

复制代码

  1. var thirdVC = self.storyboard?.instantiateViewControllerWithIdentifier("ThirdViewController") as ThirdViewController
  2. thirdVC.text = "Pass"
  3. self.navigationController?.pushViewController(thirdVC, animated: true)

因为是在 同一个 Storyboard 里面进行跳转, 所以 self.storyboard 就可以满足需求.

不明白? 看最后一个方法:

4. 利用 UIStoryboard

XIB 方法, 我们需要 用到 nibName, 同样 如果我们想要 分离多个 sence 在不同的Storyboard 里面, 怎么办?

这个时候, 就不能使用 self.storyboard 了.

而是:

复制代码

  1. var storyboard = UIStoryboard(name: "New", bundle: nil)
  2. var newVC = storyboard.instantiateViewControllerWithIdentifier("NewViewController") as NewViewController
  3. newVC.text = "Pass"
  4. self.navigationController?.pushViewController(newVC, animated: true)

是不是 和 XIB 有异曲同工的感觉, 这样就可以把 Storyboard 分几个, 每个里面放几个 Sence.

这样的好处就是, 当你需要做多个不同功能的模块的应用, 分离到不同的 Storyboard 中, 彼此互不影响.

相对于 XIB 来说, 每个文件夹 只需要 1 个 Storyboard 文件, 和 Swfit 文件就可以了.

[ 此帖被dongeyoung在2014-11-23 04:55重新编辑 ]

时间: 2024-07-31 10:34:56

好吧,我承认我喜欢这样的多个 StoryBoard 组织的方式,学习了!的相关文章

好吧,我承认我喜欢这种多个 StoryBoard 组织的方式,学习了!

下面转载内容非常不错.兴许补充从官方文档疏理出来的脉络,确实非常好的使用方法. tid-270505.html"> tid-270505.html">Storyboard 跳转 和 传值 写在前面: 由于苹果推 Storyboard 并且 眼下来看, Apple Watch 也是用 Storyboard 就知道, 明天应用预计都是 Storyboard 的天下了. (水平有限, 不正确之处在所难免, 望海涵) 非常多人似乎还是在用 XIB, 对 Storyboard 怎样进

我喜欢的一些句子摘录-2017-11-18

我喜欢的一些文章中的句子摘录... ================================= 每个独辟蹊径混出来的人都是自己的领路人! ==============我图省事儿经常一个人吃饭,看电影,出去玩儿,我一个人喝可乐,一个人喝雪碧,一个人喝醒目七喜,我喜欢一个人去看电影,可以很认真地看,不用应付聊天.我喜欢一个人出远门,自由自在,露宿街头亦不会有人在我耳边抱怨.这只是选择,无关孤僻.============= 当心里住进了一个人,你会变得很善良,很细致,每天都阳光满满的,当有一天

【荐】个人喜欢的网站

技术: 1.cnblogs.com  喜欢原因就是纯粹喜欢 2.oschina.net 3.github.com 学习: 1.zhihu.com  知乎2.慕课网 出处:二月人链接:http://www.cnblogs.com/eyren/p/5018715.html来源:博客园

自己喜欢的一下句子摘录-2018-02-05

自己喜欢的一些句子摘录... 去文具店买支笔你都要先挑样式才试用,更何况是谈恋爱这种事.外表不够吸引人,谁会去了解你的内在. 男生没必要找一个陪你吃一辈子苦的姑娘做女朋友.因为这样的姑娘几乎没有.你只需要找一个理解你,支持你的女生.她认可你的梦想,尊重你的努力.在你最难捱的日子陪着你,这样的女生即使后来你们没能在一起,当你想起她的时候,也会充满爱意与感动. 找个善良的女朋友,你也会成为一个善良的人.这种善良不在于捐了多少钱,资助了多少人,而在于你心底最纯真的那颗赤子之心,让你保持初衷,不忘初心.

从30岁至35岁:为你的生命多积累一些厚度

你所有不曾料想过的问题,都会随着时间的推移而与你不期而遇:你所有曾经潇洒的随遇而安,同样也会随时间流逝而让你承担那些似乎命中已经注定的代价.在这 个世界上,“唯一不可阻挡的是时间,它像一把利刃,无声地切开了坚硬和柔软的一切,恒定地向前推进着,没有任何东西能够使它的行进产生丝毫颠簸,它却改变 着一切.”我始终相信一句话:出来混,迟早要还的.虽然你我皆是凡人,只是这芸芸众生中的普通一员,但我依然希望每个人的生命都能够迎着太阳开花结果.不 管以你现在的阅历是否能够理解这段话的涵义,请先记下来.我相信总

职场35岁现象:职业规划的文章 [转]

在这个世界上,“唯一不可阻挡的是时间,它像一把利刃,无声地切开了坚硬和柔软的一切,恒定地向前推进着,没有任何东西能够使它的行进产生丝毫颠簸,它却改变着一切.” 我始终相信一句话:出来混,迟早要还的. 虽然你我皆是凡人,只是这芸芸众生中的普通一员,但我依然希望每个人的生命都能够迎着太阳开花结果.不管以你现在的阅历是否能够理解这段话的涵义,请先记下来. 我相信总有一天,你会明白. 因为,时间能解释一切,时间能证明一切,时间能解决一切. 在最近的一年的职业规划咨询过程中,我明显地感觉到35岁以上人群对

从30岁到35岁:为你的生命多积累一些厚度(转)

从30岁到35岁:为你的生命多积累一些厚度(转) 常常思考一个问题:是不是考虑做2年开发,打2年酱油,然后结婚生子,这样到底行不行?无论你是男是女,人生是一场独自修行的道路.如果在可以选的时候,还是选择靠自己吧. 无论你是要养家还是要实现人生价值,如果你处在迷茫之中,希望这篇文章可以传达一些正能量,可以帮到你.--当然这篇文章是转的呀,但真的很有理啊,假如看了这篇文章,会影响到你的一生,那么我就觉得今天这一小时的时间花在这里值了. 你所有不曾料想过的问题,都会随着时间的推移而与你不期而遇:你所有

从30岁到35岁:为你的生命多积累一些厚度(转)

你所有不曾料想过的问题,都会随着时间的推移而与你不期而遇:你所有曾经潇洒的随遇而安,同样也会随时间流逝而让你承担 那些似乎命中已经注定的代价.在这 个世界上,“唯一不可阻挡的是时间,它像一把利刃,无声地切开了坚硬和柔软的一切,恒定地向前推进着,没有任何东西能够使它的行进产生丝毫颠簸,它却改变 着一切.”我始终相信一句话:出来混,迟早要还的.虽然你我皆是凡人,只是这芸芸众生中的普通一员,但我依然希望每个人的生命都能够迎着太阳开花结果.不 管以你现在的阅历是否能够理解这段话的涵义,请先记下来.我相信

炒股境界

由于前面几个层次对本人无参考价值,已忽略 第六级:技高一筹,风光无限.常见高手的最高境界.有少部分悟性较高的投资者,一般是有较长股龄.经验丰富的老股民,在实战积累的基础上融合各种理论形成了一套独特的.完整的.适合自己风格的交易系统或操作体系,并且能够把它们运用得得心应手.也有一些人,能够熟练的应用某一项技术,赚钱概率较高,或者有的掌握了某种绝招,也能做到亏少赢多,进入一般人难以企及的高手行列.由于股票技术没有权威的标准,只要想说,任何人都可以发表自己的看法,这个阶段的人尤其喜欢说话,期望获得别人