纯代码和Storyboard/Xib的比较
1、storyboard可以看到UI的结果,但是如果在代码中修改了storyboard中UI的样式或者约束,就会导致storyboard显示的结果和最终在手机上显示的结果不一致,也就失去了storyboard所见即所得的优点;而纯代码至少所有对UI的创建和修改都在代码中,查看起来会方便一点。
2、storyboard如果有时而隐藏时而显示的页面,特别是同一个位置有两个页面然后根据设置仅显示其中一个页面的情况,则这些页面在storyboard上排放和修改会比较麻烦,因此storyboard比较适用于静态的页面,并不是所有的页面都适合用storyboard实现。
3、storyboard如果需要修改已有的页面,特别是约束,则会导致还需要在storyboard中update其他受影响的UI控件的frame,最终导致提交代码时发现这个文件修改了很多地方。
4、storyboard所有的简单UI控件每次都要拖到画布然后修改各个属性;纯代码可以将UI控件常用的创建代码提取出来复用,相似页面代码可以复制粘贴。
5、storyboard可以减少代码量,比如页面跳转可以直接在storyboard中使用segue实现,但是如果多个页面都在一个storyboard中,则协同开发时如果都修改了这个storyboard文件会可能产生冲突。
纯代码设置颜色和Storyboard设置颜色
1、storyboard中的颜色要想和纯代码UIColor设置的颜色一样,比如0x181818,需要在设置颜色之前先选择Color Profile为sRGB IEC61966-2.1或Display P3或Device RGB(默认是Generic RGB,还有Adobe RGB(1998)都和纯代码颜色不一样),然后再在“Hex Color #”后面的方框中填入181818,注意,必须先选择Color Profile之后再设置颜色。