Storyboard使用要点纪录

两个重要概念:

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

时间: 2024-10-26 01:46:17

Storyboard使用要点纪录的相关文章

iOS中Storyboard使用要点记录

摘要: Storyboard的使用与原本单个xib文件的使用还是有些不同的,于习惯上会有些出入,在这里记下遇到的要点. 1.将第一个ViewController用设置成NavigationController属性 一般新建一个工程时,会自带一个ViewController的类,storyboard中也会有一个现成的视图与其绑定在一起,与以往不同的是,在AppDelegate中已经没有直接将该视图控制器设为根视图的代码了,这时如果想要将这个视图控制器设置成一个NavigationControlle

[转]Mac App distribution in App Store

Mac程序的大包上传和iOS的有些许不同,因为Mac app既可以上传到store,也可以不通过store供人下载.因此,code sign和provision要根据情况(开发,release<store 还是非store>)制作.在程序打包后,验证程序的可行性上,也有所不同.下面,就将一些要点纪录下. 基本概念: 1 成员的权限: 成员还是有三种: Agent:注册帐号的帐户,最高权限,可以创建developer,Mac installer,Mac App, developer ID App

关于代码手写UI,xib和StoryBoard

代码手写UI 这种方法经常被学院派的极客或者依赖多人合作的大型项目大规模使用.Geek们喜欢用代码构建UI,是因为代码是键盘敲出来的,这样可以做到不开IB,手不离开键盘就完成工作,可以专注于编码环境,看起来很cool很高效,而且不到运行时大家都不知道会是什么样子,也显出了程序员这一职业的高大上及神秘气息(这个真的不是在黑..想想大家一起在设计师背后指点江山的场景吧).大型多人合作项目使用代码构建UI,主要是看中纯代码在版本管理时的优势,检查追踪改动以及进行代码合并相对容易一些. 另外,代码UI可

代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧

代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧 最近接触了几个刚入门的iOS学习者,他们之中存在一个普遍和困惑和疑问,就是应该如何制作UI界面.iOS应用是非常重视用户体验的,可以说绝大多数的应用成功与否与交互设计以及UI是否漂亮易用有着非常大的关系.而随着iOS开发发展至今,可以说在UI制作上大家逐渐分化为了三种主要流派:使用代码手写UI及布局:使用单个xib文件组织viewController或者view:使用StoryBoard来通过

iOS开发——实战OC篇&amp;环境搭建之StoryBoard(玩转UINavigationController与UITabBarController)

环境搭建之StoryBoard(玩转UINavigationController与UITabBarController) 研究了这么就IOS开发,都没有所处一个像样或者自己忙一点的项目.最近自己正打算开始着手做一个项目,可是不知道怎么下手,感觉前面学了好多,可是回头想想却又很难下手,其中最主要的就是第一步环境的搭建,当然在这之前还有选题和素材,但是那些对于ios开发来说都不是技术上的问题或者在以后公司里面一半都不是我们所考虑的.所以今天开始我将以三篇简短但又实用的文章给大家介绍一下,怎么搭建一个

在iOS 7中使用storyboard(part 1)

原文:Storyboards Tutorial in iOS 7: Part 1 感谢翻译小组成员heartasice热心翻译.如果您有不错的原创或译文,欢迎提交给我们,更欢迎其他朋友加入我们的翻译小组(联系qq:2408167315). ========================================================================================== Storyboard是一项令人兴奋的功能,在iOS5中首次推出,在开发app的

ios学习记录 day44 UI20 Storyboard 高级可视化编程 + 单例

可视化编程 : 5.0之前 xib  5.0之后 Storyboard 注意事项:1.在AppDelegate中不用代码初始化一个window   2.在general  设置 Main Interface(创建的时候自动设置的) weak可以指向 但是没有拥有权   strong有拥有权 单例特性: 1.唯一性  创建的对象永远指向同一块内存地址     2.不释放   从打开程序到后台关闭 对象都不释放 单例安全:加锁@synchronized  防止同一块内存被创建两次,破坏唯一性 //单

Apple Watch: WatchKit 应用程序要点

Apple Watch: WatchKit 应用程序要点 本文译自:Apple Watch: WatchKit App Essentials WatchKit 应用程序架构 上一篇文章简单介绍了 WatchKit,在开发 Apple Watch 应用程序时由两部分构成:WatchKit 应用程序和 WatchKit 扩展. WatchKit 应用程序是一个运行在 Apple Watch 中的可执行文件.它包括 storyboard 和渲染屏幕时所需的资源文件. WatchKit 扩展则是运行在

代码手写UI、xib和storyboard各自的局限性

代码: 因为你无法直观地看到你能得到的结果,所以你很可能需要不断地Cmd+R/Cmd+.来修改各个视图的位置大小.即使你用上了Reveal或者RestartLessOften之类的工具,也还是无法特别方便地完成需要的布局.另外加上如果需要利用AutoLayout来进行尺寸适配的话,使用代码进行约束就更加头疼了.很多时候一个无法满足的约束的问题就够来回运行修改调试很长时间了. xib: 在使用xib时,辅以部分代码来补充和完成功能几乎是不可避免的.关于这点在开发时应该予以高度重视,如果选择xib,