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

Posted cxchanpin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS中xib与storyboard原理,与Android界面布局的异同相关的知识,希望对你有一定的参考价值。

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


一、iOS中xib与storyboard显示原理

ios中基本的布置界面的方式有3种:代码。xib,storyboard。

1. 代码

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

以下为创建一个button的代码,最少也要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使得做减免变得很easy。

相同。将storyboard用文本编辑器打开,可看到例如以下:

技术分享

本质上还是xml文件。

<objects>标签下就是要创建的界面。

这里用到了tabBarController作为根视图控制器。

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

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

和xib原理一样


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

众所周知。android中布局基本全然是用xml完毕。即使有一个所谓的能够拖控件的地方,也仅仅能用粗制滥造来形如。

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

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



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











以上是关于iOS中xib与storyboard原理,与Android界面布局的异同的主要内容,如果未能解决你的问题,请参考以下文章

iOS 多国语言本地化与App内语言切换(Swift)

代码视图与StoryBoard.Xib文件视图的跳转

iOS中Storyboard使用要点记录

iOS开发中xib和Storyboard中需要注意的事项

iOS开发-UI StoryBoard

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