使用segue进行页面跳转
2017-09-16 15:30
375 查看
在iOS开发中,可以在两个controller之间添加segue进行页面之间的跳转。本文主要说明segue的基本使用方法。
![](https://img-blog.csdn.net/20170916154934219?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXZlcmFpbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
在ViewController上添加一个button,标题改为“下一页“。如下图所示:
![](https://img-blog.csdn.net/20170916155241414?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXZlcmFpbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
按住control键,在ViewController的下一页Button上点击拖动鼠标左键,拖动到SecondViewController页面上,如下图所示:
![](https://img-blog.csdn.net/20170916155502943?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXZlcmFpbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
松开鼠标,弹出一个选择框,如下图所示:
![](https://img-blog.csdn.net/20170916155612743?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXZlcmFpbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
选择框中包含两部分内容:Action Segue和Non-Adaptive Action Segue,Action Segue中有五个选项,解释如下:
![](https://img-blog.csdn.net/20170916155955614?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXZlcmFpbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
常用到为Show和Present Modally。Show用在具有导航栏的页面时,跳到下一页到时候会自带导航栏,并且带一个返回按钮。Present Modally则没有这个功能。如果你的app要支持iOS7或更早到系统,则选择Non-Adaptive Action Segue中的选项,因为Action Segue不支持iOS7以下的系统。
选择Present Modally,两个ViewController之间会出现一个连接符号,如下图所示:
![](https://img-blog.csdn.net/20170916163109086?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXZlcmFpbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
在SecondViewController中添加一个label,题目设置为第二个页面,如下图所示:
![](https://img-blog.csdn.net/20170916163949945?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXZlcmFpbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
运行程序,点击下一页按钮,跳转到SecondViewController:
![](https://img-blog.csdn.net/20170916164252767?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXZlcmFpbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
下面演示带导航栏的页面使用Show跳转的效果。首先添加一个NavigationController,删除自带的Root View Controller,并将ViewController设置为Root View Controller,将segue的Action Segue改为Show,运行程序,效果如下图所示:
![](https://img-blog.csdn.net/20170916165058762?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXZlcmFpbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
如果使用Present Modally跳转,并想要实现返回到上一个controller功能到话,需要在第二个页面上手动添加一个button,实现点击功能,并添加下面一句代码:
使用segue从一个页面跳转到另一个页面
新建一个Single View Application,命名为TestSegue,在storyboard中添加一个ViewController,同时添加一个SecondViewController类作为这个ViewController到实现类,如下图所示:在ViewController上添加一个button,标题改为“下一页“。如下图所示:
按住control键,在ViewController的下一页Button上点击拖动鼠标左键,拖动到SecondViewController页面上,如下图所示:
松开鼠标,弹出一个选择框,如下图所示:
选择框中包含两部分内容:Action Segue和Non-Adaptive Action Segue,Action Segue中有五个选项,解释如下:
常用到为Show和Present Modally。Show用在具有导航栏的页面时,跳到下一页到时候会自带导航栏,并且带一个返回按钮。Present Modally则没有这个功能。如果你的app要支持iOS7或更早到系统,则选择Non-Adaptive Action Segue中的选项,因为Action Segue不支持iOS7以下的系统。
选择Present Modally,两个ViewController之间会出现一个连接符号,如下图所示:
在SecondViewController中添加一个label,题目设置为第二个页面,如下图所示:
运行程序,点击下一页按钮,跳转到SecondViewController:
下面演示带导航栏的页面使用Show跳转的效果。首先添加一个NavigationController,删除自带的Root View Controller,并将ViewController设置为Root View Controller,将segue的Action Segue改为Show,运行程序,效果如下图所示:
如果使用Present Modally跳转,并想要实现返回到上一个controller功能到话,需要在第二个页面上手动添加一个button,实现点击功能,并添加下面一句代码:
[self dismissViewControllerAnimated:YES completion:nil];
相关文章推荐
- 在UITableView中使用segue进行页面跳转的注意事项
- iOS中使用storyboard实现页面跳转,Segue详解及简单的数据传递
- 修改用户信息的时候,使用Servlet对新的数据和数据库的数据进行对比,修改成功实现页面的弹窗和页面的跳转
- 使用win32ole进行页面加载和跳转
- 关于使用xib进行页面跳转的一些控…
- Storyboard使用TableView进行页面跳转传值
- react-native使用react-navigation进行页面跳转导航的示例
- react-native使用react-navigation进行页面跳转导航
- 使用JavaScript在页面中进行跳转
- 关于jquery mobile使用<a href="#"></a>进行页面跳转返回上一页出现空白页问题的解决
- 使用win32ole进行页面加载和跳转
- Storyboard使用TableView进行页面跳转传值
- 使用PHP header进行页面跳转出现的问题解疑
- 使用瞄点在本页面进行跳转,但是使用了jquery mobile,就不跳转了
- JavaScript使用Window Location进行页面跳转
- 页面使用iframe进行嵌套,关于如何实现,在子页面使整个页面跳转到其他页面
- 如何使用segue和didSelectRowAtIndexPath进行界面跳转
- Servlet 使用getRequestDispatcher进行请求转发页面未跳转 后台也未报错的问题的解决方法
- 使用jsp的forward指令进行页面跳转时注意session对象的清除
- safari浏览器使用js进行页面跳转