手写代码UI,xib和StoryBoard间的的优劣比较

在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的处理

时间: 2024-10-12 22:11:23

手写代码UI,xib和StoryBoard间的的优劣比较的相关文章

如果选择构建ui界面方式,手写代码,xib和StoryBoard间的博弈

代码手写UI这种方法经常被学院派的极客或者依赖多人合作的大型项目大规模使用. 大型多人合作项目使用代码构建UI,主要是看中纯代码在版本管理时的优势,检查追踪改动以及进行代码合并相对容易一些. 另外,代码UI可以说具有最好的代码重用性.如果你的目的是写一些可以高度重用的控件提供给其他开发者使用,那毫无疑问最好的选择应该是使用代码来完成UIView的子类.这样进一步的修改和其他开发者在使用时,都会方便不少.使用代码也是最为强大的,会有xib或者StoryBoard做不了的事情,但是使用代码最终一定能

代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧

代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧 最近接触了几个刚入门的iOS学习者,他们之中存在一个普遍和困惑和疑问,就是应该如何制作UI界面.iOS应用是非常重视用户体验的,可以说绝大多数的应用成功与否与交互设计以及UI是否漂亮易用有着非常大的关系.而随着iOS开发发展至今,可以说在UI制作上大家逐渐分化为了三种主要流派:使用代码手写UI及布局:使用单个xib文件组织viewController或者view:使用StoryBoard来通过

UI到底应该用xib/storyboard完成,还是用手写代码来完成?

UI到底应该用xib/storyboard完成,还是用手写代码来完成? 文章来源:http://blog.csdn.net/libaineu2004/article/details/45488665 参考文章: <关于代码手写UI,xib和StoryBoard> http://blog.csdn.net/likendsl/article/details/38731333 <代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧> ht

我要好offer之 str/mem系列手写代码

1. str*系列手写代码 a. 一定要注意末尾'\0'的处理,切记切记 b. 一定要对输入做有效性判断,多用断言就是了 int Strlen(const char* str) { assert(str != NULL); const char* tmp = str; while (*tmp != '\0') { ++tmp; } return tmp - str; } char* Strcpy(char* dst, const char* src) { assert(dst != NULL &

.netER的未来路,关于基础是否重要和应该自己手写代码吗?

http://www.cnblogs.com/onepiece_wang/p/5558341.html#!comments 引用"基础知识的学习,一开始可能是背书,但是在后续若干年的工作过程中,在写代码时有没有想过为什么代码要写成这样子." 谁没有去想过呢?我深究过,但后来放弃了,原因很简单,因为我深究后发现,1+1等于2 苹果就是叫苹果.我去思考1+1为什么等于2 苹果为什么叫苹果.研究透后才发现只是多此一举,很浪费时间也没有实质性的作用.因为他就叫那个苹果名字,1+1就是等于2,我

iOS UICollectionView手写代码实现步骤

// //  ViewController.h //  collectionView手写代码 // //  Created by yangxiuying on 14/11/28. //  Copyright (c) 2014年 lanjiying. All rights reserved. // #import <UIKit/UIKit.h> @interface ViewController : UIViewController<UICollectionViewDataSource,U

手写代码自动实现自动布局,即Auto Layout的使用

手写代码自动实现自动布局,即Auto Layout的使用,有需要的朋友可以参考下. 这里要注意几点: 对子视图的约束,若是基于父视图,要通过父视图去添加约束. 对子视图进行自动布局调整,首先对UIView的一个属性设置,这是因为如果我们用Interface Builder,勾选Ues Autolayout,这时autoresizingMask就会被Auto Layout 取代,在手写代码时,我们就需要手动控制,代码如下 [_shadow setTranslatesAutoresizingMask

Appium初始化设置:手写代码连接手机、appium-desktop连接手机

一.包名获取的三种方式 1)找开发要2)mac使用命令:adb logcat | grep START win使用命令:adb logcat | findstr START 查看包名和入口如下: 3)通过aapt命令查看 cmd到你的android-sdk-windows\build-tools\28.0.3路径下,可以看到aapt 注意:mac使用ls,win使用dir命令 win使用命令  aapt dump badging C:\Users\Yangfan\Desktop\mobileqq

对于 UI 界面的编写工作,到底应该用 xib/storyboard 完成,还是用手写代码来完成

对于复杂的.动态生成的界面,建议使用手工编写界面. 对于需要统一风格的按钮或UI控件,建议使用手工用代码来构造.方便之后的修改和复用. 对于需要有继承或组合关系的 UIView 类或 UIViewController 类,建议用代码手工编写界面. 对于那些简单的.静态的.非核心功能界面,可以考虑使用 xib 或 storyboard 来完成. ----------转自唐巧的技术博客