什么是 user interface file
user interface file
是用户界面文件的意思。iOS里写界面的方式有以下几种
- 手写UI:
手写UI是最早进行UI界面布局的方法,优点是灵活自由,缺点是需要写大段的代码进行布局
- xib文件
xib也是比较早出现的UI布局的方式,优点是不需要手写代码,但是每个界面对应一个xib,管理起来复杂。
- storyboard文件
storyboard则是在iOS5以后出现的,是苹果官方主推的一个代替xib的策略,不仅能将xib汇总统一管理,还可以描述各种场景之间的过渡,缺点是多人协作开发时容易产生冲突。
官网对 user interface file 的解释
A user interface file is a type file (a file with a .storyboard or .xib filename extension) that contains the source for the user interface of an app. A storyboard (.storyboard) file contains a set of view controllers and their views, and the relationships between the view controllers. A xib file (.xib) usually contains one view controller or menu bar. The contents of .xib and .storyboard files are stored in XML format. At build time, the .xib and .storyboard files are compiled into binary files called nibs. At runtime, nibs are loaded and the objects they contain are instantiated.
翻译如下:
user interface file
是以 . storyboard
或者 .xib
为扩展名的一类文件,是app的用户界面资源文件。
-
storyboard
包含一系列的view controller
和view
、还有view controller
之间的关系。 -
xib
文件通常只包含一个view controller
或者menu bar
。
.xib
文件和.storyboard
文件的内容是以XML
格式保存的 (也就是说这两种文件的本质是XML
文件)
编译的时候,.xib
文件和.storyboard
文件会被编译成一种叫nib
的二进制文件
运行的时候,nib
文件会被加载,文件里面包含的对象会被实例化。
nib
文件用来描述app的软件界面。Xcode 3.0 之前 Interface Builder 创建的界面文件是二进制格式的nib
文件 (NeXT Interface Builder),但是二进制文件不好管理,可读性不强。Xcode 3.0 之后,Interface Builder 使用了一种新的文件格式xib
(XML Interface Builder)。xib 使用了 XML格式,在工程编译的时候再转换成 nib。XML资源文件方便开发,利于解决冲突。
xib和storyboard的比较
共同点:
- 都用来描述软件界面
- 都用Interface Builder工具来编辑
不同点:
-
Xib是轻量级的,用来描述局部的UI界面
-
Storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面之间的跳转关系
总结
和Android
写界面布局对比:
- 手写UI的方式就像在
java
文件中用java
代码写布局 -
xib
和storyboard
方式就像写layout
的XML
文件,可以手动拖控件,而不必写繁琐的代码
什么是Interface Builder
you use Interface Builder, the visual design editor that’s integrated into Xcode, to lay out your app’s user interface and make connections to your code.
翻译:
你可以用Interface Builder
(一个集成到Xcode
的视图设计编辑器
)来设计你的app
的用户界面,并且与你的代码链接起来。
也就是说,Interface Builder
是编写 storyboard
和xib
文件的编辑器。
Select a file in the Project navigator to open it in the editor area, if you select a
source file
, the file opens in thesource editor
and if you select auser interface file
, the file opens inInterface Builder
. Select the project (the root file in the Project navigator) to open theproject editor
网友评论