一.更新完xcode6之后创建工程时没有了empty application 这个选项,这对于擅长用纯代码开发的程序猿来说很不适应而且不舒服!那么如何在xcode6.0之后的版本里创建出可以纯代码设计UI界面的empty application呢?
1.新建一个single view application
2. 随后删除Main.storyboard和LaunchScreen.xib,扔进废纸篓。
3.打开Info.plist,把Launch
screen interface file base name,以及Main storyboard file base name两项,删除(点击旁边的减号即可)。
4.打开工程项目属性文件,点击Target下面的第一项,再选择General选项卡,向下找到Use Asset Catalog按钮。点击它。弹出对话框,点击Migrate即可。这样,应用尺寸就能根据屏幕大小进行调整了。
5.最后,在AppDelegate的第一个方法里面,“return”语句之前,添加必要代码。
代码只有3句,相当于分3步走。
( 1)创建window;(2)设置window背景;(3)使window可见。
代码如下:
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
二.三种UI流派优劣一览:
在UI制作方面,逐渐分化三种主要流派:使用代码手写UI;使用单个xib文件组织viewController或者view;使用StoryBoard来通过单个或很少的几个文件构建UI。三种方式各有优劣,也各有自己最适用的场合。
(一)、手写代码UI
1、优势
√ 适合大型项目大规模使用,利于版本管理、追踪改动以及代码合并
√ 最好的代码重用性
2、遗憾
√ 慢,开发周期长,维护代码复杂
√ 自动布局AutoLayout困难
(二)、xib文件组织viewController或者view
1、优势
√ 开发速度快
√ 在版本管理上和纯代码的差异并不是很大,易读易维护
2、遗憾
√ xib中的设置往往并非最终设置,UI设计会被代码所覆盖
(如果选择xib,那么要尽量将xib的工作和代码的工作隔离开来:能够使用xib完成的内容就统一使用xib来做,而不要说三个Label其中两个在xib设置了字体而另一个却在代码中完成。尽量仅保持必要的、较少的IBOutlet和IBAction会是一个好方法。)
(三)、storyBoard
1、优势
√ 可以看到每个ViewController的布局样式,也可以明确地知道各个ViewController之间的转换关系
√ 代码量少,开发周期短
√ 关键是已经成为新建项目时候的默认配置,代表着苹果以后的方向和重心
2、遗憾
√ 很难多人协作
√ ViewController的重用和自定义的view的处理
如今该怎么设计UI,业界众说纷纭。每个方案都有其优劣之处,对我而言,我认为应该先好好手写代码,掌握其原理,代码是人与程序沟通的桥梁,只有从代码的逻辑上才能深入理解其运行机制。而对于可视化的设计方法,虽然直白快捷效率高,可是对于初学者,还是手写代码更为出色。