您的位置:首页 > 编程语言

关于storyboard、xib和纯代码的混用

2015-11-25 19:37 375 查看
这篇文章不打算举例子了,因为东西比较简单,所以就直接谈谈个人对这个事情的看法。

很久很久以前,storyboard还没有出来,那时候的天下毫无争议的几乎都是xib的(暂时不谈论纯代码吧),后来有了storyboard之后,便开始上演了手足相残的戏码,各自的粉开始互喷。

针对这两者,经常会有人问在一些开发群里问“大神们一般用storyboard还是xib”,然后有些人就会说“大神都是用纯代码的”,还有些人会说“大神都是storyboard和xib混用的”。我想谈谈storyboard和xib的混用(应该还要混上点纯代码)并不是我是什么大神,我也只是个初学者,主要是因为确实混用挺方便的。

首先介绍一下各自的优缺点:

1、storyboard能够简单的建立多个页面间的关联,而xib不行…

2、storyboard能够轻松的展现页面的关系,因为页面们都围在一块儿…然而xib只能一个一个看…

3、storyboard能够做静态表,这对于一些设置啊这种万年不变的傻瓜式页面很方便,然而xib不行

4、storyboard内的页面放多了以后卡顿明显,而xib完全不用考虑这个

5、xib在多人开发的时候能够一定程度的避免冲突,storyboard一不小心就会冲突

6、纯代码就基本不会有UI相关的冲突问题了,但是纯代码确实工作量比较大

我的选择策略:

1、多人开发的时候,多用xib减少冲突的可能性,适当选用storyboard做静态表

2、一个人开发的时候,小项目尽量选用storyboard快速完成,大项目还是多用xib,省的到后面storyboard动弹不了了来烦心

3、页面实在太复杂,果断纯代码

混用以后面对的第一个问题就是页面之间相互的跳转怎么解决。

1、storyboard跳xib

直接xib对应的类alloc、init然后push

2、xib跳storyboard

UIStoryboard *sb = [UIStoryboard storyboardWithName:@”xxxx” bundle:[NSBundle mainBundle]];

UIViewController *viewCtrl = [sb instantiateViewControllerWithIdentifier:@”xxxxxx”];

然后直接push就可以了,记得先去storyboard里改viewCtrl的”Storyboard ID”

3、纯代码相关

纯代码跳转这些就比较简单了,跟上面方法一样,纯代码麻烦的主要是在于布局,不在本篇讨论范围内

这篇内容不多,比较简单,主要希望能在一些新手选择storyboard和xib的时候能够提供帮助
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: