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机制,当然你也可以用其他办法,这里我就不多说了。