天天看點

ios可視化程式設計 UI進階 UI_13

一、簡單的說,IB Xib就是拖控件程式設計,也可以說是可視化程式設計(所見即所得),使用Xib程式設計,相對于純代碼,可以省下大量的敲代碼時間,進而提高程式的開發時間,Xcode  4 之後才可以在工程中直接使用xib程式設計;

 使用xib程式設計隻是減輕了MVC中的V設計的工作量,學好Xib有助于了解MVC設計思想;

 IB(interface bulider),以後稱為xib,由于xib檔案人能直接識别,是以xib會在編譯後生成.nib檔案(二進制檔案);

 Xib檔案中在Xcode 的右側邊框比普通的檔案多出4個頁籤,一共6個;

 1.對目前檔案的描述

 2.輔助頁籤,主要用來查詢

 3.自定義頁籤,可以用來配置和目前Xib檔案相關聯的實體類,如果建立實體類的時候預設勾上also creat xib file,此時預設和實體類自動關聯

 4.控件屬性頁籤(優先顯示自己的屬性,在下面顯示它父類的屬性)

 5.配置控件的frame

 6.檢視和控件相關聯的屬性或者是方法、或者代理,或者是它所遵循的一些協定

 file's owner  : 指目前xib檔案中View所屬于的視圖控制器,此時view代表這個試圖控制器的根視圖

//這個方法是視圖控制器的指定初始化方法

//如果不給nib檔案名字,系統預設去查詢找跟目前實體類同名的nib檔案名指派這裡

//第二個參數目前程式檔案名,[NSBundle mainBundle] 可以不寫自動查找

- (id)initWithNibName:(NSString

*)nibNameOrNil bundle:(NSBundle

*)nibBundleOrNil{

    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { 

    }

一個按鈕也可以關聯多個方法,

一個方法可以關聯多個按鈕

————————————————————————————————————————

易錯點:reason: '-[UITableViewController

loadView] loaded the "Xnv-Ot-BAc-view-2Bh-PN-5hY" nib but didn't get a UITableView.'

解決方法:後面跟着的視圖拖錯了,删除修改即可!

__________________________________________________________

StoryBoard故事版:

//如果一個視圖上有多個按鈕點選之後都要跳轉到同一個界面,此時使用在視圖控制器之間建立了segue連線,不過要給這個segue連線加一個辨別

//如果隻有一個按鈕點選後跳轉到下一個界面,此時使用按鈕和視圖控制器之間的連線

//實作button控件中的方法

- (IBAction)handlePush:(UIButton

*)sender {

//通過選擇視圖控制器的連線 segue ,完成頁面之間的跳轉

    [self performSegueWithIdentifier:@"jj" sender:nil];  

}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

//擷取segue起始端的視圖控制器對象

   RootViewController *rootVC =  [segue sourceViewController];

//通過segue完成跳轉的時候會觸發這個方法,在跳轉之前觸發,一般用來傳值

    //擷取push過去後的視圖控制器對象

    DetailViewController

*detailVC = [segue destinationViewController];

//把textField中的内容取出來指派給下一個界面的屬性

    detailVC.string

= rootVC.textField.text;//

rootVC.textField.text 相當于 self.textField.text

==============================================================

繼續閱讀