IOS Xib使用——Xib表示局部界面


Xib文件是一個輕量級的用來描述局部界面的文件,在之前的文章講解了為控制器添加Xib文件,本節主要講解一下通過xib文件表示局部界面。

<一> 創建Xib文件

  Xib文件創建的時候是選擇User Interface里面的Empty模板創建,當然,如果你想創建一個新的歡迎界面,可以直接選擇Launch Screen模板,此外,Storyboard文件也是在這選擇。當你選擇Empty模板時,默認創建的文件后綴名為xib,也就是xib文件。

 

<二>  Xib文件存放局部view

  創建的xib文件里面默認為空的,可以從xCode右下角的Interface Builder中拖拽控件,默認拖拽的UIView尺寸是固定的,需要在右側邊欄進行設置,才能改變其尺寸。

 

在一個xib文件中可以添加多個UIView或者UIView的子類,它們是按照順序存放在數組中的,在使用的時候,可以根據索引位置從xib的數組中獲取到。

 

xib中添加好局部界面之后,就可以通過代碼來獲取了,步驟是先獲取到應用程序的路徑,然后得到xib文件中的數組,根據索引,取出想要的界面。

  代碼

 UIView *view = [[NSBundle mainBundle] loadNibNamed:@"JRTemp" owner:nil options:nil][0];

  獲取xib文件中全部界面需要調用loadNibNamed:方法,第一個參數是文件名稱,第二個參數是xib文件的所有者,如果當前的xib文件是當前所在的控制器特有的,這個參數可以添加控制器,但是這樣的話在其他控制器中就不能再使用該xib中的界面。如果xib文件中的界面是可以在多個控制器中展示,那么owner就設置為nil。

  <三>  封裝xib中的UIView

  通過xib表示局部視圖后,可以在需要的地方通過代碼從xib文件中獲取,如果每次都直接從xib中獲取非常麻煩,通常我們會把xib中的每個小的局部界面用對應的類來進行封裝,並在這個類中提供得到該視圖對象的方法,用此來優化代碼,步驟如下。

  1、先創建一個類來表示xib文件中對應的局部界面。

 

  2、在xib中找到要關聯的view,在右側邊欄設置它的class為新創建的類,讓二者進行關聯。

 

 3、把xib中的小控件與新增的類進行連線,讓小控件成為類的屬性,這樣在后面用起來會方便許多。

 

  4、在新增中添加一個方法,從xib文件中獲取局部界面,代碼如下:

代碼

+(instancetype)rowViewFromFile{
    return [[NSBundle mainBundle] loadNibNamed:@"JRTemp" owner:nil options:nil][0];
}

  5、完成以上步驟,使用局部界面的時候,就可以通過類創建對象的方式來快速的得到界面並使用,代碼如下:

  代碼

RowView *rowView = [RowView rowViewFromFile];
[self.view addSubview:rowView];

xib文件中的第一個小的view就被添加到了界面上,如果不設置frame,默認坐標為原點,尺寸為xib中的尺寸,在這里可以根據自己需求進行設置,效果如下:

 

 

作者: 傑瑞教育
出處: http://www.cnblogs.com/jerehedu/ 
版權聲明:本文版權歸煙台傑瑞教育科技有限公司和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
技術咨詢:JRedu技術交流
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM