大家不用 nib 开发 ios 界面的原因是啥?

2014 年 3 月 5 日
 satanwoo
我只是最近和很多人聊到了这个,
原因如下:
(1)有些人说nib的复用性不高。
(2)有些人说nib只能开发静态初级的界面(比如关于,设置)
(3)有些人说nib不好合作。我认为这个现在xcode5在修改过nib的文件内容后,其实已经大大简化了。
(4) 最后点是我自己觉得的吧,读取nib是一次I/O操作,I/O可能会瓶颈吧。

不知道大家怎么看
6565 次点击
所在节点    iDev
29 条回复
offspring
2014 年 3 月 5 日
大部分都是扯淡
wezzard
2014 年 3 月 5 日
大部分都是扯淡 +1
ultragtx
2014 年 3 月 5 日
1. nib要是复用性不高 手写的也一样
2. 动态界面拆分开也都是一堆静态view 有什么用不了的
3. xcode5 之后这个基本不是个问题
4. 还不至于因为这个影响运行效率
satanwoo
2014 年 3 月 5 日
@ultragtx 大神在这见到你了。
satanwoo
2014 年 3 月 5 日
@ultragtx 我是看我同学写的ios app,然后今晚正好和他聊了这个话题。
run2
2014 年 3 月 5 日
@ultragtx
@wezzard
@offspring 请教下nib的多locale怎么做,直接在窗体上改很没效率啊。 谢谢
ultragtx
2014 年 3 月 5 日
@sobigfish 有个这个 https://github.com/angelolloqui/AGi18n 不过我还没用过
offspring
2014 年 3 月 6 日
ybh37
2014 年 3 月 6 日
style的区别而已。
xx314327475
2014 年 3 月 6 日
@offspring
@wezzard
@ybh37

那么适配不同屏幕呢?
ybh37
2014 年 3 月 6 日
屏幕适配我没什么好办法,加判断生写的。
offspring
2014 年 3 月 6 日
@xx314327475 autolayout
xx314327475
2014 年 3 月 6 日
@offspring 曾经尝试过,无奈可能是我理解能力的问题,并没有很好的实践这个技术
satanwoo
2014 年 3 月 6 日
@offspring
@xx314327475
autolayout效率低呢。能自己算resize自己调整是最高的。
tgfbeta
2014 年 3 月 6 日
只要保证一个人维护storyboard或者建立一个提交storyboard修改的约定,没啥不好的。
tangqiaoboy
2014 年 3 月 6 日
适度使用是可以的
shiweifu
2014 年 3 月 6 日
offspring
2014 年 3 月 6 日
@satanwoo 苹果有必要推出个效率低的新东西么 autolayout是来源于Cassowary 已经被移植到各种平台 而且如果app是universal的 支持各种orientation 支持iOS6和iOS7 到时候iPhone6再出个新分辨率 你就resize到死吧
satanwoo
2014 年 3 月 6 日
@offspring
你急啥呢? 真难以想象你的回复如此气急败坏啊。。

第一:苹果推出的东西不代表效率就高。autolayout是为了方便开发者针对适配,降低复杂度未必就能提升效率。况且我也没说绝对效率低,和自己手动判断改frame毫无疑问是低的。

第二:就我写过的app来说,各种orientation本身就应该开发者自己判断,不然你觉得用代码写UI的意义在哪?如果一切都依靠本身机制,那我觉得写ios只要看什么ios 初级入门就够了。

第三:现在universal 的app还多吗?

第四:现在很多的设计都是列表式的设计,就算是关于界面这种静态的界面,你一个xib就能解决,你只要写一些UIView Category快速的帮助你更改下高度或者宽度不就行了?你全部用相对位置做我觉得是个基本功吧?
jimneylee
2014 年 3 月 7 日
不擅长用xib的飘过,感觉还是要多用多比较。
xib主要用于偏静态页面,类似dreamwear制作html页面,有一点可视化编程的思想在里面,通过查看xib文件,UI布局可读性增加了。
如果是动态运行时变化比较多的话,还是建议代码编写,类似动画片和游戏的区别。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/103010

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX