標籤:size blog data jsb oid 介面 add strong button
用文本標記語言來進行布局,用的最多的應該是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介面布局的異同