码迷,mamicode.com
首页 > 其他好文 > 详细

Storyboard使用要点纪录

时间:2015-06-27 22:50:56      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:

两个重要概念:
1,Storyboard中称之为scene,可以看作是viewcontroller
2,Segue时一个配置好的跳转,包含以下信息:
-segue的标识符;
-源viewcontroller
-目的viewcontroller;

跳转的3个关键步骤:
1,跳转的三种方法
-可以关联到一个按钮按下后跳转到下个页面:只有通过storyboard中拖拽就可以完成,一行代码都不需要写。
-custome segue:可以在手动控制,当满足条件后进行调用跳转;
-直接使用scene的标识符进行调转,非常类似以前使用的push viewcontroller;

//关联按钮进行跳转不需要写代码

//手动调用 segue
- (IBAction)manualBtnPressed:(id)sender
{
    [self performSegueWithIdentifier:@"CUSTOME_TRIGGER" sender:nil];
}

//传统方式
- (IBAction)traditionalBtnPressed:(id)sender
{
    TextViewController *dest = [self.storyboard instantiateViewControllerWithIdentifier:@"TextViewController"];

    [self.navigationController pushViewController:dest animated:YES];
}

2,页面赋值:
实际上在每个页面跳转前,都会调用到prepareForSegue,就像每个viewcontroller都会调用 viewwillload;这就是给页面赋值的时机;

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"BTN_TRIGGER"]) {
        NSLog(@"BTN_TRIGGER");
    }
    else if([segue.identifier isEqualToString:@"CUSTOME_TRIGGER"])
    {
        NSLog(@"CUSTOME_TRIGGER");
    }
    else
    {
        NSLog(@"NOT_DEFINED");
    }
}

3,页面返回的两种方法:
方法一:非常怪异的通过在storyboard拖拽完成,同样是要和按钮的按下动作关联;
举个例子:SCENE_A ->SCENE_B后,从SCENE_B跳回来,那么现在SCENE_B里放个按钮;然后在SCENE_A里实现个函数类似如下,函数名称可以任意;然后将按钮与SCENE_A里的EXIT相关里,这时可以看到EXIT下有个done函数可以关联,对接上就可以了。

- (IBAction)done:(UIStoryboardSegue *)segue
{
    NSLog(@"catch the exit action");
}

方法二:就是传统的push方法;

总结:
第一,只要明白storyboard里如何设置:跳转,赋值,跳回;那么storyboard也没什么可惧的;
第二,团队多人合作不适合使用storyboard,因为无法像解决code的冲突一样来解决storyboard的冲突;可以局部使用;一个工程可以包含多个storyboard。

这里是范例的下载链接:http://download.csdn.net/detail/smallhorse87/8660881

Storyboard使用要点纪录

标签:

原文地址:http://blog.csdn.net/smallhorse87/article/details/46664477

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!