关于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的时候能够提供帮助
很久很久以前,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的时候能够提供帮助
相关文章推荐
- 【C语言】【笔试题】使用回调函数编写冒泡排序,可以排序整形数组,也可以排序字符串
- GO语言标准库概览
- Java——CardLayout卡片式格局
- C++ 内存分配(new,operator new、placement new)详解
- IntelliJ IDEA 的 20 个代码自动完成的特性
- Android Studio来了,它能取代Eclipse吗?
- Eclipse将引用了第三方jar包的Java项目打包成jar
- Python开发简单记事本
- eclipse生成可执行jar包
- C++ pair(对组)用法(转)
- C语言模块化程序设计概念理解
- Eclipse构建Maven项目
- Spring、junit、mockito单元测试总结
- C#中通过Selenium IWebDriver实现人人网相册备份工具
- MyEclipse中的jsp文件中引入外部js文件时,乱码问题的解决
- php.ini xdebug
- 【笔记】设计模式(PHP) - [01]
- Eclipse报错:Referenced classpath provider does not exist: org.maven.ide.eclipse……
- Java获取当前路径
- java 基础 (模板方法设计)