为什么有些人用一年时间获得了你十年的工作经验?(演讲:学习曲线和Hacking大脑,谈终身学习如何改变你的人生)

关于用XIB/StoryBorad还是用代码构建UI的问题

tinyfool 发布于 2013年09月06日
无人欣赏。

很多人喜欢用代码,但是代码又写不好。为什么要纯代码呢?有很多人喜欢纯代码,但是代码又不够纯熟,结果bug很多,那就得不偿失了。

在某些情景下,XIB确实有它的问题,代码会更好一些。但是对于初学者和一般简单项目,XIB都比代码更好上手。为什么总是有些人连UIView各子类结构都不清楚,属性都不明白的情况下去玩代码?

代码来做UI,要想做好,前提是你对整个UI框架很熟悉、属性熟悉、方法熟悉等等都熟悉,机制也熟悉。如果做不到的这些,还是XIB更合适你。另外,就是国内有种很无聊的技术氛围,什么牛屄用什么,XIB和代码各有优势,不明白什么场景用代码更好就奢谈用代码不是牛屄,是装屄。

共13条回复
vikiliu0310 回复于 2013年09月06日

确实是这样~

yangjie6020 回复于 2013年09月06日

XIB和代码的使用量 现在是3:7 前期为了快速出版本 用XIB比较多 后期 就用代码了 没有用XIB 关于适合没什么考虑 感觉用代码可能是精神层面上面的事情 觉得自动生成的XIB不可信 自己一行一行写代码 表示自己都知道 调试起来也简单 也就是一种安慰吧 哈哈

abigfrog 回复于 2013年09月06日

storyboard很好用 现在不用xib了

tinyfool 回复于 2013年09月06日

@yangjie6020 你这个态度是不对的,其实XIB的机制很容易理解,理解了就知道,其实XIB是可以做的非常高效的。

简单的说,XIB就是一个序列化文件,跟写代码初始化一个UI元素完全没有区别。往往大家觉得XIB有性能问题的原因是,XIB没有选择加载机制,一个XIB里面的所有元素都在同时一个时间load进来,当然如果元素特别复杂,也会有一些速度问题。

但是这些都不是XIB的问题,是可以解决的,比如,可以拆散为很多XIB等等。

真正懂性能的人都不是靠一些传说、小技巧去提高性能,这些方法是不靠谱的,核心是懂得机制,学会怎么用工具去衡量性能。这是专业程序员和混子的区别。

tinyfool 回复于 2013年09月06日

@abigfrog 在这个话题里面XIB和Storyboard其实是一个意思

yangjie6020 回复于 2013年09月06日

@tinyfool 额 接受批评 不够严谨啊

zgjie 回复于 2013年09月06日

未学习怎么用代码写Auto Layout,所以凡是考虑到要用Auto Layout的我都用Xib,固定宽度什么的才考虑纯代码。

ibuick 回复于 2013年09月06日

其实吧,

用 Interface Builder/XIB 的好处是可以快速构建,对付一些标准的,简单的 UI 足够。

用代码的好处是,对于 UI 的控制能力更强,而且能写出更为灵活的UI,

但是,协作的时候,XIB 对 SVN,GIT 的支持不算好,不过据说 Xcode 5 改进了很多,我还没实验。代码的好处就显而易见了,易于团队合作。

至于我看回复里面有说什么 Auto Layout 的,这个东西无论用代码还是XIB,甚至混合用都没问题,这不是什么选择 XIB 和 代码的理由。

最后,我还是跟 @tinyfool 观点一样,用什么东西,要看场景,哪个适合用哪个,而不是哪个显得牛逼用哪个。就像是很多人觉得用 TextMate,Sublime 就显得牛逼,可是我就一个也不会用,我觉得还是 Xcode 牛逼。

terryso 回复于 2013年09月06日

其实这也是习惯问题。。。喜欢用啥就用啥。 我是全部使用代码的。。。 主要原因有以下几个 1 多人合作,xib经常有冲突的问题。听说xcode5能改善这个问题。 2 我的IDE是AppCode,不想为了UI设计,需要两个IDE切换 3 以我个人来讲,使用纯代码并没有比使用IB慢。。。

abigfrog 回复于 2013年09月06日

我也是xcode+appcode, appcode强烈推荐!

terryso 回复于 2013年09月06日

@abigfrog 我现在基本就只有提交APP到AppStore才会用一下xcode

abigfrog 回复于 2013年09月06日

@terryso 我用xcode做如下的事情:

  1. storyboard相关
  2. Build Setting相关
  3. 异常相关, 最喜欢"中断"选项卡里的Exception Breakpoint
  4. 生成ipa或提交app store

其他的工作全部在AppCode中完成,用的最多的是Refactor和Reformat code功能.

nycoder 回复于 2015年03月10日

比较蛋疼的是,Xcode6之后默认storyboard。。然而自己买的书都是xib。。。所以一开始的时候各种苦逼搜用Xcode创建无storyboard的资料。。。最后终于明白了怎么加载nib怎么关联outlet和action。。。(其实我本来是想搜iOS UI设计code技巧的,无意搜到这个,然后低调的挖个坟。。嗯。。

本帖有13个回复,因为您没有注册或者登录本站,所以,只能看到本帖的10条回复。如果想看到全部回复,请注册或者登录本站。

登录 或者 注册
[顶 楼]
|
|
[底 楼]
|
|
[首 页]