用storyboard用导航控制器推出新页面的两种方式,即segue的2种方式

来源:互联网 发布:淘宝怎么发布狮王祛痘 编辑:程序博客网 时间:2024/05/29 02:01

未来iOS的趋势是越来越趋向于直接用storyboard来进行APP开发,所以说掌握storyboard是必不可少的。

那用导航控制器来推出新页面应该怎么做呢?有以下2种办法:

首先要确认一个概念segue,storyboard上每一根用来界面跳转的线都是一个UIStoryboardSegue对象,简称segue。segue有两种形式,一种是自动,一种是手动;

每一个segue对象都有三个属性:

//segue的唯一标示,可以用这个属性来找到唯一对应的segue,可以把它当成tag值去理解。

@property (nonatomic,readonly)NSString *identifier;

//来源控制器,就是谁要推出下一个页面的控制器,那要推出下一个页面的页面控制器就是来源控制器

@property (nonatomic,readonly)id sourceViewController;

//目标控制器,被推出的页面的控制器

@property (nonatomic,readonly)id destinationViewController;


下面先介绍第一种segue,自动segue,我把点击某一个控件直接跳转到下一个页面的segue,叫做自动segue,比如给一个button脱线,按住ctrl,然后拖到下一个页面,然后选择push,这种叫做自动segue,再点击button的时候一定会push到下一个页面。

接下来要介绍的是一种比较多应用的segue,手动segue,需要注意此时需要要给segue加一个identifier,用于以后拿到这个segue。

下面是我的代码实现,我是让button点击的时候,跳转到下面的页面,代码如下

- (IBAction)buttonClick {

//可以再推出之前加入判断,这样就实现了类似先判断条件,条件满足后才进入下一个页面的功能

//@后是你自己设定的名称,一般是写成第一个页面名字+to(2也可以,因为音译相同)+后一个页面名字的形式

//sender后可以穿参数,比如self,或者下一个页面需要接收到的上一个页面的值,也可以写为nil,不传参数。

        [selfperformSegueWithIdentifier:@"login2contact"sender:nil];

}



以上,就是segue的介绍,如有不足,希望赐教!



0 0