由于最近才接触到IOS,苹果已经建议storyboard来搭建所有界面了,于是我也追随时尚,直接开始使用storyboard。(不料在涉及到页面跳转的时候,遇到的问题是:点击后没有任何反应)众所周知,在storyboard中,界面的跳转是通过segue来实现的,利用它,省去了方法内写入跳转的代码。
一 视图跳转
《StoryBoard下的视图跳转》
我们知道:segue共有三种类型:push,modal,和custom。
简单说下这三个的作用:使用导航栏压进新的控制器(push),模态的加载视图控制器(modal),自定义(custom)。
好了,废话少说,现在开始我们的旅行。
1,首先建立一个Single View 模板的项目,记得勾选上storyboard。然后打开它,在rootViewController(也就是我们的主视图)添加一些label和一个button。
2,在右边的库中拖入一个ViewController,也添加一个Label。具体如下图所示://02
3,选中button,右键(或control+鼠标左键)拖拽到第二个ViewController中,选择:Modal,然后记得save。这个时候,运行模拟器,点击button,你会发现成功跳转到了第二个界面。我们没有在代码区做任何操作,甚至连button和第二个ViewController都没有创建,确实就是这么的简单。//03
好了,到了这里,简单说一下storyboard下,利用segue界面跳转一共有两种方式:
第一种就是以上我的例子,利用button组件,拖拽添加segue,直接运行就可以用。
第二种是利用ViewController与ViewController之间,拖拽添加segue。不过,这种方法就需要在相应需要跳转的方法内写入代码,手动去设置它的跳转。
4,把刚才例子设置button的segue删除(右键,点X),一切恢复了最初时的状态,我们给buttom添加一个点击的方法,然后在ViewController.m中实现此方法,在方法体内写入这样的代码://04
5,注意看方法参数:@"second",这个second是我自命名的一个标示符,一会你就会遇到。
6,save保存,打开storyboard,选中rootViewController,右键拖拽到第二个ViewController,在弹出的界面同样选择:modal。//05
7,打开这个segue的设置页面:设置其identifier为second,就是我在代码中的那个自命名参数。
8,save保存,运行模拟器,你会惊奇的发现,实现了同样的跳转。
到现在为止,我们一共用两种简单的方式实现了视图的跳转:1是设置button的segue,2是设置viewcontroller与viewcontroller之间的segue,只是后者需要在代码中手动管理跳转。
看似很简单的事情,却让我耽误一些时间,主要是因为我在网上看的好多例子都是以UINavigationController为rootviewController(这样省事省时,跳转后还可以利用系统为我们创建的返回按钮返回到rootViewController),然后用button拖拽到第二个视图时选择的push,由于当时不理解push相关的类型含义,所以在写的时候,我总是选择push,造就了点击后无法跳转。现在终于明朗了,记录下来,供不明白的同学学习。
1、你弄个文本框,设置超链接回到目录
2、文本框设置为透明,全屏覆盖
3、设置动画效果,播完当前页面后显示该文本框
这样页面播放完成后,你鼠标单击页面任何位置都会回到目录
虽然步骤多点,但是效果很好