IOS初级:story board的跳转

本文要实现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"];
    }
}




posted on 2015-06-16 15:43  阮減显  阅读(142)  评论(0编辑  收藏  举报

导航