ios中布局实现方法选择
ringa_lee
ringa_lee 2017-04-17 11:30:20
[iOS讨论组]

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

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

ringa_lee
ringa_lee

ringa_lee

全部回复(7)
大家讲道理

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

黄舟

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

高洛峰

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

PHPz
  1. 从运行效率上看,由于xib预编译成了nib,展示同等数量的控件,效率与代码实现<del>应该不相上下,或者略强</del>相差不大,实测结果nib慢约7%~10%;
  2. 从布局灵活性上看,IB的灵活性同样不输代码,原因是IB中可以很简单且直观的设置autoresizingMask来实现动态布局;
  3. 想要知道如何取舍,就必须清楚的知道各自的优缺点:
  • IB的优点是直观,方便设置frame,维护性强;缺点是页面刚刚展示的时候,就必须把所有控件都渲染出来,对于动态展示的一些控件(比如hud和经用户触发展示的控件),如果写在xib中,则非常浪费资源,并且使得代码逻辑不够清晰。另外对于一些定制的控件(如自己实现的loading),无法使用;
  • 代码的优点是灵活,可以在需要展示的时候才动态展示出控件,不浪费资源,逻辑清晰,可定制任何样式、动画的控件;缺点是标准控件绘制时,样式及尺寸设计不够直观,在调整一些尺寸、字号、颜色等方面比较麻烦,并且增大了代码的维护难度。

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

阿神

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

ringa_lee

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

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

黄舟

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号