首页 > 代码库 > 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