关于xib、Masonry、Storyboard和手动计算布局的灵活运用

xib:基于autolayout,适用于简单、静态的布局,优点是效率高,缺点是不灵活,调整起来很麻烦

Masonry:基于autolayout,只是用代码来写,相较于xib灵活,可以做屏幕适配,尤其适合自适应高度的布局,比如说单元格中的布局

Storyboard:在编译前提供了可视化界面,可拖控件,可加约束,在开发时比较直观,而且一个storyboard可以有很多的界面,每个界面对应一个类文件,通过storybard,可以直观地看出整个App的结构。

手动计算:适用于复杂、动态布局,比如说:单元格动态高度(根据数据源来布局)、屏幕适配,优点是能适应所有条件下的布局,缺点是效率低、横竖屏切换比较复杂

总结:1.xib主要适用于简单、静态布局,Masonry、手动计算主要用于复杂、动态计算。不过xib也可以做一些简单的动态布局。

           2.Masonry、手动计算都属于纯代码布局,相当于xib或者storyboard而言,适用于经常要改动的界面,因为改动起来比较方便。

3.在做横屏和竖屏切换时,Masonry要比手动计算简单得多,优选Masonry。

ps:在布局时,应该根据具体情况选用合适的方法,提高效率,灵活运用。

4.Storyboard:需求变动时,需要修改storyboard上对应的界面的约束,与XIB一样可能要重新添加约束,或者添加约束会造成大量的冲突,尤其是多团队开发。对于复杂逻辑控制不同显示内容时,比较困难。当多人团队或者多团队开发时,大家会同时修改一个storyboard,导致大量冲突,解决起来相当困难。

5.XIB:需求变动时,需要修改XIB很大,有时候甚至需要重新添加约束,导致开发周期变长。XIB载入相比纯代码自然要慢一些。对于比较复杂逻辑控制不同状态下显示不同内容时,使用XIB是比较困难的。当多人团队或者多团队开发时,如果XIB文件被发动,极易导致冲突,而且解决冲突相对要困难很多。

你可能感兴趣的:(关于xib、Masonry、Storyboard和手动计算布局的灵活运用)