分享一个关于Storyboard 跳转与传值_IOS

写在前面的知识:

因为苹果推 Storyboard 而且 目前来看, Apple Watch 也是用 Storyboard 就知道, 明天应用估计都是 Storyboard 的天下了.
 (水平有限, 不对之处在所难免, 望海涵)

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

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

1. 最简单的方法

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

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

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

然后 调用 performSegueWithIdentifier 方法.

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

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

performSegueWithIdentifier("SecondSegue", sender: self)

如何传值?

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

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

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

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

PS:

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

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

3. 利用 self.storyboard

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

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

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

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

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

4. 利用 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 文件就可以了.

以上叙述是小编给大家分享storyboard跳转传值的相关知识,希望大家喜欢。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索storyboard跳转传值
storyboard跳转传值、ios storyboard传值、ios storyboard 跳转、ios跳转到storyboard、ios 点击cell跳转传值,以便于您获取更多的相关知识。

时间: 2024-10-27 18:40:40

分享一个关于Storyboard 跳转与传值_IOS的相关文章

案例分享:一个高权重站点如何走向落寞

一个站长有勇气放弃日IP过万的现状而进行站点改版,虽然知道改版会给网站带来一定的影响,但敢这么做,我想至少也会有对付的办法,然而事实是网站一步一步的走向了衰弱,笔者也是这个站点改版的参与人员.下面笔者就分享一下站点是如何一步一步走向衰败的:   先来看看改版的几个细节 1:META标签的完善.原先的站点meta标签十分的糟糕,关键词与描述都是空着,虽然百度对于这两个标签给予的权值没有以前那么大了,但从百度统计里面可以看出,他们依然有着作用,所以改善META标签是个正确的选择. 2:URL结构的优

Android开发中Activity创建跳转及传值的方法_Android

在Android系统的江湖中有四大组件:活动(Activity), 服务(Service), 广播接收器(Broadcast Reciver)和内容提供者(Content Provider). 今天所介绍的就是Android开发中的四大组件之一:Activity,其他那三大组件以后再进行介绍.说道Android中的Activity,如果你做过iOS开发的话,Activity类似于iOS中的ViewController(视图控制器).在应用中能看到的东西都是放在活动中的.活动是安卓开发比较重要的东

url-jsp页面之间的跳转及传值问题,A.jsp跳转到B.jsp,并传递A.jsp的值

问题描述 jsp页面之间的跳转及传值问题,A.jsp跳转到B.jsp,并传递A.jsp的值 2C A.jsp跳转到B.jsp,并传递A.jsp的值.除了在URL之后加上?name=XX之外的有什么方法可以隐藏传值.$.post(""../exam/question.jsp"" { name: ""John"" time: ""2pm"" } function(){ location.hr

Swift自定义cell中如何做到页面跳转并且传值

问题描述 Swift自定义cell中如何做到页面跳转并且传值 Swift语言, 我是折叠tableview,自定义了一个cell,cell里面有很多按钮,点击每个按钮都跳转到不同的页面,我想请教下如何带值跳转呢? 解决方案 cell中的按钮添加的时候设置button的tag.然后点击的时候获取tag来得到不同的值跳转页面

ios开发-storyboard 跳转界面问题

问题描述 storyboard 跳转界面问题 我从拥有导航栏的A界面,push 到B界面,点击B界面中的按钮model到C界面,点击C界面的按钮,返回到A界面,怎么用代码写 解决方案 关于fragment多界面跳转的问题storyboard中的界面跳转(传值)IOS storyboard文件界面跳转

分享一个用了很久的免费国外空间,适合用于测试

做开发的,尤其是WEB开发的,在开发期间习惯使用了本地服务器,配置不标准,环境和标准机房差的没远近.本人多次编好的程序,线下测试没什么问题,到放在线上后,各种的不兼容拍你一脸:用开源的程序问题还不大,要是自己做的小程序,那个难受,相信除了大师级的同志都遇到过这种烦恼. 今天给大家分享一个国外的免费测试空间,当然国外免费的很多,本人测试了很多,要说顺手的话还是这个比较好,最起码注册简单 3分钟OK ,FTP上传upload的话15分钟OK,其他的也就一般了,有的测试空间半个小时空间都拿不到手,好了

Android Activity的跳转与传值详解

Android Activity的跳转与传值详解 Activity跳转与传值,主要是通过Intent类来连接多个Activity,以及传递数据. Intent是Android一个很重要的类.Intent直译是"意图",什么是意图呢?比如你想从这个Activity跳转到另外一个Activity,这就是一个意图.Intent类在Android系统中的作用很大,在此不详细说了,后面有文章介绍! Activity跳转,无返回结果 这是最简单的Activity跳转方式.从一个Activity启动

分享一个可以获取远程网站CSS配色的工具网站

分享一个通过读取远程网站的CSS文件,自动生成该网站配色方案的在线工具网站,推荐大家收藏... 在下面输入对方网站的网址后,轻松取得该网站CSS中应用到的配色色值. http://redalt.com/Tools/I+Like+Your+Colors 试一下吧!

V5Shop分享一个独立网店快速提升PR和销售额的方法

V5Shop分享一个独立网店快速提升PR和销售额的方法 很多独立网店的店主都在为宣传推广头疼.在现在这个产品丰富的市场经济环境下,各行各业的竞争都异常激烈,"酒香也怕巷子深"已经成为网商们的共识.作为独立网店,独立运营固然可以避免许多"拼低价"的竞争,客户对网店和品牌的忠诚度也有保证,但是在推广这个问题上,却难住了不少网商. 许多网商之所以过于依赖淘宝等大型平台,就是因为这些平台能够为其带来源源不断的客户,其不用为如何招揽客户,如何推广网店而劳心.有得必有失,这同样