IOS初级:story board的跳转

来源:互联网 发布:倩女幽魂手游for mac 编辑:程序博客网 时间:2024/05/21 08:57

本文要实现view1跳到view2,view2又跳回view1。


首先要在视图中拉出一条连接view1和view2的线。

下面是在view1的控制器中实现,从view1跳到view2

//发生跳转前会执行这个方法- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {    //1.取得目标控制器    UIViewController *contactVc = segue.destinationViewController;    //2.目标控制器成员变量赋值    contactVc.member = [NSString stringWithFormat:@"values = %@ ",@"set values"];}//比如点击一个按钮实现跳转 -(IBAction)btnAction { //跳转到identifier所指向的视图,字符串View1ToView2是视图中连接线的标识,在连接线的属性面板中可以设置。       //performSegueWithIdentifier这个方法的参数View1ToView2会传入到上面的那个prepareForSegue方法,所以可以在prepareForSegue中识别不同的identifier,       //根据identifier进行不同是数据传递。       [self performSegueWithIdentifier:@"View1ToView2" sender:nil];}

如果要从view2返回view1,只要view2自己关掉自己就行了,但是值传递不是用prepareForSegue,需要用代理


- (IBAction)backAction {    //1.关闭当前视图控制器    [self.navigationController popViewControllerAnimated:YES];    //respondsToSelector搜索代理的协议方法是否已经实现    //myProtalFunParam2这里是本类的头文件所声明的一个代理方法    //- (void)myProtocolFun:(View2ViewController *)view2VC Param2:(NSString *)someStr;    if ([self.delegate respondsToSelector:@selector(myProtocolFun:Param2:)]) {            [self.delegate myProtocolFun:self Param2:@"my string"];    }}




0 0