Storyboard和Autolayout

来源:互联网 发布:linux 分区 编辑:程序博客网 时间:2024/04/27 19:13

StoryBoard是在iOS5出现的,其目的是来替换Xib。随着设备的种类的越来越多,使用StoryBoard来创建UI会更加方便,另外可以分离UI和逻辑代码,使得整个工程看起来都非常的有条理性。现在,通常情况下,多是使用StoryBoard和Xib来共同的创建app的UI。




Autolayout在iOS6的时候推出来的新功能。当时是iPhone5退出来的时候,苹果的设备从3.5寸走向了4寸。今年苹果推出iOS8并出了4.7寸的iPhone6和5.5寸的iPhone6 Plus,这个功能将在写UI的时候变的更加重要。



手写代码 VS Xib VS Storyboard

代码手写UI
优点:
1、纯代码在版本管理时的优势,检查追踪改动以及进行代码合并相对容易一些。
2、代码UI可以说具有最好的代码重用性。如果你的目的是写一些可以高度重用的控件提供给其他开发者使用,那毫无疑问最好的选择应该是使用代码来完成UIView的子类。这样进一步的修改和其他开发者在使用时,都会方便不少。使用代码也是最为强大的,会有xib或者StoryBoard做不了的事情,但是使用代码最终一定能够完成所要的需求。
 缺点:
1、慢。在前期创建UI过程中极为浪费时间,在之后维护时代码定位和寻找也会很痛苦。
2、其次,因为你无法直观地看到你能得到的结果,所以你很可能需要不断地Cmd+R/Cmd+.来修改各个视图的位置大小。
3、如果需要利用AutoLayout来进行尺寸适配的话,使用代码进行约束就更加头疼了。很多时候一个无法满足的约束的问题就够来回运行修改调试很长时间了。


Xib

优点:良好的MVC、上手简单

缺点:

1、xib文件之前一大被诟病的问题是文件内容过于复杂,可读性很差,即使只是简单打开没有编辑也有可能造成变化而导致合并和提交的苦难。在Xcode 5中Apple大幅简化了xib文件的格式,使其变得易读易维护。可以说现在对于xib文件在版本管理上其实和纯代码已经没有太大差异,只要仔细看过一遍xib的文件内容,自然能理解绝大部分,并很好地追踪并查找过往的修改记录了。

2、xib中的设置往往并非最终设置,在代码中你将有机会覆盖你在xib文件中进行的UI设计。


StoryBoard


优点:

1、在StoryBoard中不仅可以看到每个ViewController的布局样式,也可以明确地知道各个ViewController之间的转换关系

2、相对于单个的xib,其代码需求更少,也由于集合了各个xib,使得对于界面的理解和修改的速度也得到了更大提升。

缺点:

1、ios5才可以使用。目前使用ios5以下系统的非常的少。可忽略

2、多人协作。








0 0
原创粉丝点击