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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章