技术文章分类(180)

技术随笔(11)

UIStoryboardSegue使用,为您省下很多代码

demo下载:https://github.com/MartinLi841538513/Segue

segue:读'seɡweɪ',也叫“故事板联线”。有:push,modal,和custom三种不同的类型

push:需要头一个界面是Navigation Controller.这里push相当于[navigationController pushViewController:viewController animated:YES];

modal:相当于[self presentModelViewController:viewController animated:YES];

custom:说是自定义界面切换效果,暂时还没有研究出来,本博客将会持续更新。

 

当你从当前 scene中触发一个segue的时候,系统会自动调用prepareForSegue:sender:这个方法。

这里会有两个参数:segue,sender;

segue:

  UIStoryboardSegue,能够获得destinationViewController(下一个界面),sourceViewController(其实这个就无所谓的,因为他就是self)

  segue还有一个参数identifier,要先设置才能有,可以通过区分identifier来判断是切换到哪个界面。还有style,transition都可以在这里设置。

sender:

  就是触发segue发生界面切换的控件。可以通过判断sender来区分不同的界面切换事件(建议使用通过segue identifier来判断,比较合理)。

这里只上一段核心代码:其他的请参考demo

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if (sender==button1) {
        UIViewController *page2 = segue.destinationViewController;
        [page2 setValue:self.textField.text forKey:@"passValue"];
    }else if(sender == button2){
        NSLog(@"22");
    }
}

 

注意:这里设置属性值setValue,采用了KVC机制,当然你也可以用其他办法,这里我就不多说了。

posted @ 2014-08-20 22:38  坤哥MartinLi  阅读(731)  评论(0编辑  收藏  举报