首页 > 代码库 > iOS中xib与storyboard原理,与Android界面布局的异同

iOS中xib与storyboard原理,与Android界面布局的异同

用文本标记语言来进行布局,用的最多的应该是HTML语言。HTML可以理解为有一组特殊标记的XML语言。


一、iOS中xib与storyboard显示原理

在iOS中主要的布置界面的方式有3种:代码,xib,storyboard。

1. 代码

代码布置界面是万能的,但通常很复杂。布置一个简单的界面可能需要很多行代码,因此十分繁琐。

下面为创建一个按钮的代码,最少也要3行:

UIButton *btn = [UIButton buttonWithType:UIButtonTypeContactAdd];
    btn.center = CGPointMake(100, 100);
    [self.view addSubview:btn];

2. xib

xib适合布置小块界面,也可以用来做单个界面。属于拖控件型,只需要写加载xib的代码。

下图为用文本编辑器打开xib文件的结果:

可以看到,xib本质也是xml文件。

<document>标签内就是xib要显示的内容。

可以看到<view>标签内就要显示的内容。该xib只显示了一个带颜色的空白view。

xib的原理就是将xml文件解析出来,找到相应的view,转换成代码,然后创建对象并显示。

形如:

 UIView *view = [[UIView alloc] init];
    view.frame = CGRectMake(0.0, 0.0, 320, 480);

3.storyboard

storyboard适合做大界面的跳转等,而且丰富的viewController使得做减免变得非常简单。

同样,将storyboard用文本编辑器打开,可看到如下:

本质上还是xml文件。

<objects>标签下就是要创建的界面。这里用到了tabBarController作为根视图控制器。

tabBarController下指向4个其他视图控制器。

storyboard的原理也是将xml文件解析出来,找到相应的控制器等,转换成代码,然后创建对象并显示。和xib原理一样


二、Android与iOS布局显示的比较

众所周知,Android中布局基本完全是用xml完成,即使有一个所谓的可以拖控件的地方,也只能用粗制滥造来形如。

而iOS封装的可谓相当出色,要是不用文本编辑器打开,很多人可能不知道这是用xml文件的方式来显示布局的。

关于基本原理:Android与iOS基本布局显示原理是一样的,都将视图与模型数据分离,都遵循MVC的设计模式。



转载请注明出处:http://blog.csdn.net/xn4545945