iOS-Swift5.1-用代码动态实现页面跳转(performSegue)的用法

4,184 阅读2分钟

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…