美文网首页
关于xib、Masonry、Storyboard和手动计算布局的

关于xib、Masonry、Storyboard和手动计算布局的

作者: New_卡迪熊 | 来源:发表于2018-03-27 16:07 被阅读38次

    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和手动计算布局的

          本文链接:https://www.haomeiwen.com/subject/wvrscftx.html