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界面布局的異同