iOS里面实现页面跳转有两种方法:
1.比如当用户按下按钮时需要跳转页面,那就在storyboard上control拖拽该按钮到需要跳转到的页面即可。
这个很容易理解,不赘述。
2.有些时候,比如:这个按钮是动态生成的(用代码创建的),或者用户摇手机时需要跳转页面,或者用户做了一定的交互操作后需要跳转页面,等等。
这个时候就没办法用第一种方法了。
我们需要动态跳转,也就是用代码写。
动态跳转(performSegue)的用法:
1.在storyboard上control拖拽当前页面(下图左)的黄色圆圈,拖到想跳转的页面,并按项目需求选择一个跳转方式(比如:show)
2.选中segue(下图蓝色箭头),在右边attributes inspector面板给他取个名字,比如这里的“showDetail” 3.回到当前页面的代码区域,在需要跳转的地方用如下代码即可:performSegue(withIdentifier: "showDetail", sender: nil)
复制代码
解释:
1.performSegue
是所有viewcontroller都有的方法,所以可以直接写,当然在闭包里需要加self。
2.如果想在跳转的时候传值,可以使用sender
参数。
在iOS中,所有的segue(包括页面跳转,页面嵌入等)在跳转或嵌入之前都会先触发viewcontroller的这个方法:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
}
复制代码
所以在performSegue
里面的sender
就会被传到这里的sender
来,我们就可以在页面跳转之前做一些操作了,从而达到传值的目的。
注:sender
可以是任何东西。
例子:
我这里就单纯的传了个String演示一下,现实开发中大家可根据实际需求使用sender
。
广告时间:
大家如果正好想学iOS开发的话,可以来看看小弟的iOS视频教程(永久更新+售后辅导): m.cctalk.com/inst/s9vfhe…