iOS基础 02 StoryBoard 故事板文件

目录:

  1. 故事板的导航特点

  2. 故事板中的Scene和Segue

  3. 本文最后

  在上篇HelloWorld工程中有一个Main.storyboard文件,它被称为“故事板”(storyboard)文件。

  它可以描述应用中有哪些界面,界面有哪些控件以及它们的事件。

  此外,故事板还能描述界面之间是如何导航的。

1. 故事板的导航特点

  在包含多个视图控制器的情况下,采用故事板管理比较方便,而且故事板还可以描述界面之间的导航关系。

  下面我们举例说明故事板的用法。

  我们要做这样一个应用:两个不同的界面,有两个标签分别与其对应,点击标签,实现两个界面的互相切换。

  该应用采用标签栏导航模式,设计原型的草图如下:

  选择Tabbed Application模板创建工程,在生成的工程中打开Main.storyboard文件。我们可以看到如图所示的设计视图:

  可以看到,该应用包含两个视图,并且两个视图存在切换关系。

说明:

  在一些老版本Xcode创建的工程中,经常会看到xib文件。事实上,xib与故事板是非常相似的技术。

  那么故事板与xib比较,是否只是文件后缀名不同呢?

  当然不是,一般而言,一个工程中国年可以有多个xib文件,一个xib文件对应一个视图控制器和多个视图。而使用故事板时,一个工程只需要一个主故事板文件就可以了。

2. 故事板中的Scene和Segue

  Scene和Segue是故事板中非常重要的两个概念。每个视图控制器都会对应一个Scene(译为“场景”),可以理解为应用的一个界面或屏幕,其中有很多视图或控件,相当于一个xib。

  这些Scene之间通过Segue连接,Segue不但定义了Scene之间的跳转(或导航)方式,还体现了Scene之间的关系。

  跳转的类型分为:Push、Modal、Popover和自定义方式。Scene跳转类型还要跟具体的控制器结合使用。

  Push是树形导航模式,Modal是模态导航模式,Popover是呈现浮动窗口,这些导航模式咱们后续再详细逐一介绍。

  除了Scene和Segue之外,故事板中还有关于表视图单元格的一些新东西,这些我们也会在后续单独逐一介绍。

3. 本文最后

  没有结尾总觉得哪里怪怪得。。。

iOS系列 基础篇 02 StoryBoard 故事板文件的更多相关文章

  1. iOS系列 基础篇 07 Action动作和输出口

    iOS系列 基础篇 07 Action动作和输出口 目录:  1. 前言及案例说明 2. 什么是动作? 3. 什么是输出口? 4. 实战 5. 结尾 1. 前言及案例说明 上篇内容我们学习了标签和按钮 ...

  2. iOS系列 基础篇 08 文本与键盘

    iOS系列 基础篇 08 文本与键盘 目录: 1. 扯扯犊子 2. TextField 3. TextView 4. 键盘的打开和关闭 5. 打开/关闭键盘的通知 6. 键盘的种类 7. 最后再扯两句 ...

  3. iOS系列 基础篇 06 标签和按钮 (Label & Button)

    iOS系列 基础篇 06 标签和按钮 (Label & Button) 目录: 标签控件 按钮控件 小结 标签和按钮是两个常用的控件,下面咱们逐一学习. 1. 标签控件 使用Single Vi ...

  4. iOS系列 基础篇 09 开关、滑块和分段控件

    iOS系列 基础篇 09 开关.滑块和分段控件 目录: 案例说明 开关控件Switch 滑块控件Slider 分段控件Segmented Control 1. 案例说明 开关控件(Switch).滑块 ...

  5. iOS系列 基础篇 03 探究应用生命周期

    iOS系列 基础篇 03 探究应用生命周期 目录: 1. 非运行状态 - 应用启动场景 2. 点击Home键 - 应用退出场景 3. 挂起重新运行场景 4. 内存清除 - 应用终止场景 5. 结尾 本 ...

  6. iOS系列 基础篇 04 探究视图生命周期

    iOS系列 基础篇 04 探究视图生命周期 视图是应用的一个重要的组成部份,功能的实现与其息息相关,而视图控制器控制着视图,其重要性在整个应用中不言而喻. 以视图的四种状态为基础,我们来系统了解一下视 ...

  7. iOS系列 基础篇 05 视图鼻祖 - UIView

    iOS系列 基础篇 05 视图鼻祖 - UIView 目录: UIView“家族” 应用界面的构建层次 视图分类 最后 在Cocoa和Cocoa Touch框架中,“根”类时NSObject类.同样, ...

  8. iOS系列 基础篇 01 构建HelloWorld,剖析并真机测试

    iOS基础 01 构建HelloWorld,剖析并真机测试 前言: 从控制台输出HelloWorld是我们学习各种语言的第一步,也是我们人生中非常重要的一步. 多年之后,我希望我们仍能怀有学习上进的心 ...

  9. Java多线程系列--“基础篇”02之 常用的实现多线程的两种方式

    概要 本章,我们学习“常用的实现多线程的2种方式”:Thread 和 Runnable.之所以说是常用的,是因为通过还可以通过java.util.concurrent包中的线程池来实现多线程.关于线程 ...

随机推荐

  1. Redux初见

    说到redux可能我们都先知道了react,但我发现,关于react相关的学习资料很多,也有各种各样的种类,但是关于redux简单易懂的资料却比较少. 这里记录一下自己的学习理解,希望可以简洁易懂,入 ...

  2. 验证码识别<1>

    1. 引子 前两天访问学校自助服务器()缴纳网费,登录时发现这系统的验证码也太过“清晰”了,突然脑袋里就蹦出一个想法:如果能够自动识别验证码,然后采用暴力破解的方式,那么密码不是可以轻易被破解吗? p ...

  3. Function Set in OPEN CASCADE

    Function Set in OPEN CASCADE eryar@163.com Abstract. The common math algorithms library provides a C ...

  4. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(11)-系统日志和异常的处理①

    系列目录 系统需要越来越自动化,我们需要引入日志记录和异常捕获管理员的操作记录需要被记录,看出哪些模块是频繁操作,分析哪些是不必要的功能,哪些是需要被优化的.系统的异常需要被捕获,而不是将系统出错显示 ...

  5. Android线程管理之ExecutorService线程池

    前言: 上篇学习了线程Thread的使用,今天来学习一下线程池ExecutorService. 线程管理相关文章地址: Android线程管理之Thread使用总结 Android线程管理之Execu ...

  6. 详解Javascript中正则表达式的使用

    正则表达式用来处理字符串特别好用,在JavaScript中能用到正则表达式的地方有很多,本文对正则表达式基础知识和Javascript中正则表达式的使用做一个总结. 第一部分简单列举了正则表达式在Ja ...

  7. Oracle逻辑迁移某业务用户及数据

    1.确定基本信息 2.源数据库导出 3.目的数据库导入 4.逻辑迁移注意事项 1.确定基本信息 确定基本信息: 源数据库所在系统类型:________ 源数据库地址:__.__.__.__ 源数据库版 ...

  8. 1.C#WinForm基础制作简单计算器

    利用c#语言编写简单计算器: 核心知识点: MessageBox.Show(Convert.ToString(comboBox1.SelectedIndex));//下拉序号 MessageBox.S ...

  9. Lua BehaviourTree 各节点说明

    项目说明 本行为树的代码使用Lua编写,所有的内容也建立的Lua的基础语法之上 因为公司项目需求,需要一套Lua的行为树代码,所以尝试从饥荒中抽离了行为树相关的代码.绝大多数节点行为与饥荒中相同,不过 ...

  10. .NET 实现并行的几种方式(三)

    本随笔续接:.NET 实现并行的几种方式(二) 在前两篇随笔中,先后介绍了 Thread .ThreadPool .IAsyncResult (即 APM系列) .Task .TPL (Task Pa ...