首页 > ios中布局实现方法选择

ios中布局实现方法选择

ios中布局的实现方法
1先用xib画好再关联起来
2直接在程序里用代码写出来

那么问题就来:
1:这2种方法在效率上有什么差别
2:对这2种方法应该如何取舍


xib可以做基础布局,因为里面的控件自定义程度不高。如果想实现动态效果的话,一定要写代码的,当然两者也可以同时用。效率上当然代码更快,但是在小规模程序中根本看不出区别。


我一般能用xib的就用xib勾勒出来,然后在viewDidLoad里面微调。但是在某些情况下,比如微博的cell这样的东西,界面结构需要和内容动态关联的,也只好用代码写了。


  1. 从运行效率上看,由于xib预编译成了nib,展示同等数量的控件,效率与代码实现<del>应该不相上下,或者略强</del>相差不大,实测结果nib慢约7%~10%;
  2. 从布局灵活性上看,IB的灵活性同样不输代码,原因是IB中可以很简单且直观的设置autoresizingMask来实现动态布局;
  3. 想要知道如何取舍,就必须清楚的知道各自的优缺点:

因此,结论就是:动态展示和定制用代码,其他用IB。


@yuanlizbyy 写的我基本赞同,另外还有一点会让我选择不适用IB,当我的程序需要兼容各种设备或者需要横竖屏的支持,这个时候使用IB将显得很混乱。


第二种比较灵活,因为很多布局的代码,只能用代码实现,例如根据内容多少改变高度和布局之类的。
不过偶是两种混合用的


效率关系不大,nib的问题是对于代码控制的支持天生太差了。

两个xib文件在代码合并的时候出现冲突,解决起比来比两个.m文件发生冲突要恶心42倍。


1.效率上差别不大,以前忘了在哪里看过有人做过一个试验,只有一次性创建的对象的数量级达到很大的时候才会有明显的效率差异。
2.个人感觉一些比较固定的视图用xib会比较方便,调整起来很直观。而一些比较灵活的要根据内容实时变化的用代码会更方便一些。还有就是个人习惯了,我的习惯是从来不用xib,一切都用代码实现。

【热门文章】
【热门文章】