iOS個人整理22-可視化編輯-XIB

一、可視化編輯-XIB

做UI的自然要有可視化編程,有拖拽控件的便利方法,現在開始學習xib的可視化編輯

基礎概念

GUI:圖形用戶界面 (Graphical User Interface),也就是圖形顯示計算機操作用戶界面

Interface Builder(簡稱IB):是Max OS X平臺下用於設計和測試圖形用戶界面(GUI)的應用程序,代碼和IB都可以生成GUI

IB可以使開發者簡單快捷地開發出符合Mac西路操作系統的GUI。通常你只需要進行簡單的拖拽來構建GUI

IB使用Nib文件來存儲GUI資源,在需要時,Nib文件可以被快速地載入內存。


iOS下可視化編程分爲兩種方式:xib和storyBoard

在使用xib和storyBoard創建GUI時,以XML文件格式存儲在Xcode中,編譯時生成Nib的二進制文件。運行時,Nib文件被加載並創建GUI元素


xib的創建和使用

1.在新建UIKIT框架下的類時,勾選Also create XIB file選項,就會創建出和一個類關聯的xib文件

 


2.如果忘記勾選Also create XIB file,可以在單獨創建一個XIB文件,然後再手動將其和對應的類關聯起來

這個過程比較麻煩,還不如刪了重新建


(1)先創建一個在User Interface中的empty文件,命名隨意,最好和類相關



(2)然後給empty文件拖拽添加一個View控件



(3)然後在empty文件的file's owner的Custom Class的Class那欄填上要關聯的類的名字



(4)最後把file's owner的OutLets下的View的關聯拖到控件View上



真是麻煩


創建完成之後是初始化,xib創建的視圖控制器的初始化方式有所不同

TestXibViewController *testXibVC = [[TestXibViewController alloc]initWithNibName:@"TestXibViewController" bundle:nil];

NibName:當前控制器相關聯的Nib文件,如果寫nil,默認爲同名文件

NibBundle:當前應用程序所在的文件,nil默認爲mainBundle。

然後就可以在xib的選項卡里面幹各種事情了



二、控件的拖拽和關聯

雖然可視化方便了不少,但很多問題還需要代碼來解決

1.我們拖拽一個UILabel到View上,它和代碼沒有任何關聯

我嗎需要點擊右上角兩個圈圈的按鈕,他可以雙屏顯示,同時看到Xib和相關類的代碼

用鼠標右鍵按住控件Label,拖拽到.h文件的屬性聲明處

出現小框,這裏可以設置此Label的名字,設置爲xibLabel


命名完畢點擊connect得到了這個Label屬性的聲明

然後就可以在代碼中對這個Label進行各種設置,而不再需要對Label進行初始化的操作。


2.同理如果是一個Button,可以給給他命名,並且添加方法,在Connection選項中選OutLet就是聲明屬性,選Action就是聲明方法

聲明方法後,會自動在.m文件中添加一個空的方法

  



3.再說一下代理設置

拖拽一個UITextField到View上,鼠標右鍵按住UITextField拖向File's Owner的正方體,

彈出一個小選框,選delegate,點擊就講這個UITextField的代理設置爲當前的視圖控制器了






4.再補充一點

如果拖進tableView控件,一定要記得給控件拖拽代理dataSource和delegete到所在的ViewController上


如果在xib的面板上自己添加自定義的tableViewCell

在註冊單元格時有所不同,要先創建nib

//XIB中註冊單元格
    UINib *cellNib = [UINib nibWithNibName:@"CustomTableViewCell" bundle:nil];
    //註冊
    [_myXibTableView registerNib:cellNib forCellReuseIdentifier:@"CELL"];
如果使用tableview自帶的cell,就用通用方法註冊即可

[_myTableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"CELL"];


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