Swift/Storyboard 界面跳转/传值

转载 2018年04月17日 10:28:56

跳转

Push时的Controller为 UIViewController
Present时的Controller为 UINavigationController

  • 使用 Storyboard Segue 方式:
    在Storyboard中设置Segue的Identifier,以及Kind
    然后使用代码:
performSegue(withIdentifier: "LoginToMain", sender: nil)

  • 使用代码方式:
let storyboard = UIStoryboard(name: "Segue", bundle: nil)
// Push
let viewController = storyboard.instantiateViewController(withIdentifier: "NavigationController")
navigationController?.pushViewController(viewController, animated: true)
// Present
let navController = storyboard.instantiateViewController(withIdentifier: "ViewController")
navigationController?.present(navController, animated: true, completion: nil)

传值

目标是 UINavigationViewControlle r的话,得先取出TopViewController

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "Segue" {
        if let nav = segue.destination as? UINavigationController, let controller = nav.topViewController as? ViewController {
            controller.intentData = "aaa"
        }
    }
}

否则:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "Segue", let c = segue.destination as? ViewController {
        controller.intentData = sender as? String // sender 为 performSegue 方法设置的值
    }
}



作者:竹菜板
链接:https://www.jianshu.com/p/533797f9ff86
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Swift/Storyboard 界面跳转/传值

swift_004(Storyboard进行界面跳转及传值)

Storyboard进行界面跳转及传值 方法一         // 方法一 跳转(不用连线)         // 获取指定的Storyboard,name填写Storyboar...
  • shifang07
  • shifang07
  • 2016-10-28 16:52:10
  • 1406

Storyboard使用TableView进行页面跳转传值

场景 StoryBoard中 A 界面 TableView B界面 明细页面 A & B通过Cell的Section Action事件进行页面跳转。 Controller中 tab...
  • saw471
  • saw471
  • 2015-10-12 16:40:44
  • 1166

Swift开发教程--使用Storyboard进行界面跳转

使用storyboard结合代码来做确实可以给开发带来很多的便利。 在实践的过程中,我们经常会遇到界面的跳转问题。通过控件和界面的建立的“连接”就可以了。 如果是navigationcontrol...
  • wanglixin1999
  • wanglixin1999
  • 2015-07-24 11:46:01
  • 4630

swift 使用多个storyBoard,进行视图跳转

当项目中有多个storyBoard时,跨越storyBoard进行视图跳转:let destinationStoryboard = UIStoryboard(name:"xxxStoryboard",...
  • hjp1137
  • hjp1137
  • 2017-01-03 15:19:06
  • 1056

IOS开发-使用Storyboard进行界面跳转及传值

  • 2015年10月18日 18:23
  • 43KB
  • 下载

Swift使用Main.storyboard的segue值来回传数据

在正文之前我不得吐槽一下,学新语言真是太坑太坑了,如果是纯新手或者仅仅觉得这个行业工资高而转战的千万不要选新的语言!!我其实主要是想学JAVA做服务端的,然后选了个ios作为我的客户端来展示,然后直接...
  • Mario_Hu
  • Mario_Hu
  • 2017-01-04 23:51:03
  • 1153

storyboard view之间传值swift

关于view之间传值,大概可以采用segue,notification和delegate这三种方法,其中segue只能单向的从view传值到detailView,关于segue和notificatio...
  • backpackcsdn
  • backpackcsdn
  • 2014-11-14 15:44:13
  • 767

Swift中页面跳转与传值:

1.简单方式 首先,Swift的跳转可分为利用xib文件跳转与storyboard跳转两种方法,我这里选择使用storyboard的界面跳转方法。 1、通过在storyboard中拉button控...
  • walkerwqp
  • walkerwqp
  • 2016-08-29 15:42:56
  • 2706

js页面跳转传值

页面跳转传值是通过在url链接里面用“?”追加参数值,进行页面之间传参,代码如下。页面一(onepage.html)<!DOCTYPE html><html&...
  • mayusunshine
  • mayusunshine
  • 2018-02-26 13:44:29
  • 21

Swift 3.0 加载storyboard中文件并跳转

ScanIDCardViewController 是控制器的名字let sb = UIStoryboard(name: "Main", bundle: nil) let vc = sb.instant...
  • soindy
  • soindy
  • 2016-11-02 11:06:35
  • 3016
收藏助手
不良信息举报
您举报文章:Swift/Storyboard 界面跳转/传值
举报原因:
原因补充:

(最多只允许输入30个字)