Swift开发--Storyboard的使用教程

原创 2015年07月10日 17:49:05

如果App中包括很多不同的页面,使用Storyboard可以帮你减少实现页面间跳转的胶合代码。过去的开发者对应每个视图控制器分别创建界面设计文件(即“nib”或“xib”文件),现在,只要一个Storyboard就可以包揽所有视图控制器的界面设计和他们之间的关联。

Storyboard有很多优点:

  • 使用Storyboard可以更好地了解App中所有的视图以及它们之间的关联的概况。掌控全局更加容易,因为所有的设计都包含在一个文件中,而不是分散在很多单独的nib文件中。

  • Storyboard可以描述不同视图之间的过渡,这种过渡叫做“segue”(译注:意为“转场”,而“Storyboard”原意为“分镜”,均源自电影术语),你可以直接在Storyboard中通过连接不同的视图控制器来创建转场。多亏有了转场,打理界面的代码比以前要少了。

  • Storyboard通过新的原型表项(prototype cell)和静态表项(static cell)特性,让处理表视图(table view)的工作更加轻松。几乎完全可以在Storyboard编辑器里搞定表视图的设计,同样也减少了代码量。

  • Storyboard使自动布局(Auto Layout)更易用。自动布局功能可以让你通过界面元素之间的数学关系定义来确定元素的位置和尺寸,极大简化了不同尺寸屏幕的适配工作。自动布局不在本教程范围之内,若想了解更多,请参阅自动布局入门

如果你非常讨厌Interface Builder,或者推崇用代码搞定所有界面的话,Storyboard可能不适合你。个人主张是代码能少写就少写,特别是UI代码,所以Storyboard简直就是为我准备的一把利器。

如果你想继续使用nib,那就继续用吧,要知道Storyboard里是可以使用nib的,两者并非互斥关系。

效果图:

1、打开Xcode,创建新项目,语言选择swift。

2、在当前Storyboard的 File inspector(文件检查器) 中禁用Auto Layout和Size Classes。

3、在Main.storyboard 中把原先的视图控制器删掉。

4、把一个 Tab Bar Controller(分页栏控制器) 从对象库拖到面板中。点击空白区域可以放大缩小视图。

5、运行。这时会发现报错。

Failed to instantiate the default view controller for UIMainStoryboardFile 'Main' - perhaps the designated entry point is not set?

未设置入口,也就是刚才删除最先使用的那个场景之后没设置初始视图控制器。为解决问题,选中这个分页栏控制器,然后在 Attributes Inspector(属性检查器) 中选定 Is Initial View Controller 。

6、再次运行ok了。


swift中UITableView的基本使用(基于Storyboard):适用新手

第一步 在storeboard里 给你的viewcontroller拖入Table View,如图 第二步: 继续拖入Table View Cell 第三步:设置你的cell样式,即你...
  • SilentDLO
  • SilentDLO
  • 2014年12月29日 10:26
  • 2227

Swift - 故事板storyboard的用法

故事板(UIStoryboard)可以很方便的进行界面的设计,下面总结了常用的几个操作方法: 1,初始场景 选中View Controller,在属性面板里勾选Is Initi...
  • hard_working1
  • hard_working1
  • 2016年02月18日 22:57
  • 3964

Swift - 使用addSubview()方法将StoryBoard中的视图加载进来

Swift - 使用addSubview()方法将StoryBoard中的视图加载进来
  • walkerwqp
  • walkerwqp
  • 2016年05月11日 19:31
  • 2603

一篇较为详细的 Storyboard使用方法 总结

Storyboard是苹果官方主推的一个代替xib的策略。有必要详细学习下它的使用方法。 先来看一下思维导图 storyboard_28 storyboard基础 ...
  • liuyinghui523
  • liuyinghui523
  • 2017年03月14日 08:32
  • 1112

Swift基础 - - StoryBoard间切换与UIScrollView控件实现图片轮播

界面切换在项目中可以把耦合度比较高的界面放在通过一个StoryBoard中,可以按照功能使用多个StoryBoard搭建界面,这样便于项目维护以及多人开发,对于多个StoryBoard间切换,可以使用...
  • jwzhangjie
  • jwzhangjie
  • 2015年02月06日 14:56
  • 8561

Swift下多个Storyboard的项目结构

我是个比较喜欢用storyboard和xib的人。我个人的习惯就是,能用storyboard的一定不用代码手工撸。当然自己业余个人写的项目,基本上一个storyboard就搞定了。但涉及到多人合作下时...
  • yanghuiliu
  • yanghuiliu
  • 2016年11月14日 11:46
  • 1380

Swift官方入门教程系列--二--storyboard与代码的交互【翻译版,源代码】

本系列是Swift官方入门教程的翻译版,含源码,欢迎一起学习Swift。
  • jiang314
  • jiang314
  • 2017年01月06日 10:24
  • 1004

Storyboard、Nib文件和代码来实现UI的利与弊

很清楚,这就是iOS里面两种可视化UI的方法。加上全部用代码来实现UI,总共有三种方法可以来实现。...
  • sakulafly
  • sakulafly
  • 2014年03月26日 13:29
  • 5836

IOS开发 使用地图 MapKit

因为有个项目要在地图中显示位置,所以用到了MapKit。 记录下来,以免以后忘记。 加入MapKit library 首先得在项目中加入MapKit,如图 MapView 先...
  • zj510
  • zj510
  • 2014年02月10日 20:01
  • 9075

iOS 合并使用多个Storyboard

storyboard用起来很是方便。在开发中很有可能是多个人创建了多个storyboard。但最后,总是要把所有的storyboard“合并”在一起。总结一下自己的想法,不知道有没有其他的方式“合并”...
  • zhangkongzhongyun
  • zhangkongzhongyun
  • 2013年10月24日 16:37
  • 9640
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Swift开发--Storyboard的使用教程
举报原因:
原因补充:

(最多只允许输入30个字)