国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

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

2019-11-14 18:11:37
字體:
來源:轉載
供稿:網友

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乐亭县| 六枝特区| 云霄县| 依兰县| 武隆县| 孟津县| 吕梁市| 南溪县| 陇西县| 景宁| 双江| 望城县| 临洮县| 永城市| 义马市| 手机| 盖州市| 清水河县| 房产| 浮山县| 辉县市| 铁岭县| 衡东县| 安岳县| 辽宁省| 银川市| 大名县| 宣武区| 安达市| 泰安市| 万州区| 萨迦县| 安西县| 怀宁县| 油尖旺区| 徐闻县| 绥化市| 潜山县| 炎陵县| 乌恰县| 南郑县|