1. 程式人生 > >iOS中xib與storyboard原理,與Android界面布局的異同

iOS中xib與storyboard原理,與Android界面布局的異同

ast int mvc color ron rect sdn -m control

用文本標記語言來進行布局,用的最多的應該是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界面布局的異同