xcode6以后empty application到哪去了和三种UI流派的优劣一览(任超)

     一.更新完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,业界众说纷纭。每个方案都有其优劣之处,对我而言,我认为应该先好好手写代码,掌握其原理,代码是人与程序沟通的桥梁,只有从代码的逻辑上才能深入理解其运行机制。而对于可视化的设计方法,虽然直白快捷效率高,可是对于初学者,还是手写代码更为出色。

    





                                                                                                                   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值