尽力了一周的iOS里UI部分的学习,结束了各种控件的介绍,接下来学习了xib和storyboard的使用,相对来说storyboard的使用箱单简单 感觉甚至不需要太深的基础,就是知道控件的名字往ViewController上面拖就是了,然后在设置一下位置然后定位一下,最后再将同样的工作在各个界面上实现一下。就算是OK了,哈哈,是不是很简单。最常用的控件有以下几个:UIImageView,UITextField,UILabel,UIButton等
首先,我们先新建一个工程,
然后取个名字:
屏幕快照 2016-08-01 00.20.27.png找个地方存一下。然后进入编辑界面:在左边的几个文档里面有一个叫Main.StoryBoard的,点开:
屏幕快照 2016-08-01 00.20.52.png
点一下然后再右边最上面有个button,进去后把里面的class改成UIViewController:
屏幕快照 2016-08-01 00.21.41.png接着就可以开始了,尽情的铺写吧。这个我就不多说明了,我感觉吧,能用storyboard的地方尽量用storyboard。先说一下用storyboard的优点:storyboard是个新事物。新东西往往会总结之前工具的缺点并尽可能的解决他们,storyboard也肩负着这个责任。
storyboard使页面布局变得更为简洁、直观,逻辑更加清晰。
一个storyboard讲述一个故事,一个应用可以有很多故事线。如果项目前期规划合理,那么整个项目的脉络会变得非常清晰,这比一大堆的文档和代码更有用。
可自由切换的程序入口。这个特性使得无论是调整业务或测试代码都变得非常简单,只需要拖动一下箭头即可。
下面列举一下上面答案提到的storyboard缺点的解决方案(仅作讨论,不针对任何人):冲突问题:storyboard一般只是用于展示页面布局,布局不是个经常变动的东西,如果需要修改,修改的次数也非常的少。一般在团队中专门约定几名负责人专门修改页面布局就可以了。如果真的需要很多人改,请拆分storyboard。
性能问题:性能的瓶颈真的在这里吗?有这些时间多多优化一下代码,多使用异步block的效果更为明显吧。
大型项目的问题:大型项目中细分storyboard不仅可以解决打开卡顿的问题,也会使产品线更为直观。
复用问题:storyboad的确不能复用,可复用的组件可以用NIB进行封装,然后引入storyboad。
说了这么多,还没有直接的回答这个问题。软件工程中没有永恒不变的解决方案。在这里也是一样的,不要将思维局限在这3者之间,往往选择更为合适的方案会事半功倍。下面简单讨论一下什么情况下使用哪个。什么时候使用storyboard?组织多种view的层级关系,也就是传说中的segue。
使用一些列表或表格单元的模板的时候。:
除过不能使用storyboard的情况下尽量用storyboard。
什么时候不建议使用storyboard?动态或复杂布局,这时候可能需要用代码来计算相关view的位置。
可复用视图组件或模板:
什么时候不推荐使用nib?有动态内容的视图
不方便在IB中进行设计的试图
然后说说代码。什么时候使用代码?动态布局
试图特效:
什么时候不推荐使用代码?什么时候使用代码都是一个好方法,但不一定是最好的。
上周学到这个之后我感觉这是一个新时代的编写方法,简单快捷!
网友评论