ios學習--通過xib文件創建子控件 .

有些情況下需要動態增加一些子控件。
如果用代碼直接構建子控件,就是比較麻煩。儘量少寫代碼。
所以想到的是用xib文件來實現UIView。
問題是UIView不能直接從xib文件構造。

可以通過寫UIViewController來加載xib。但是缺點是會得到很多小的UIVIewController實例,而實際上我們又不怎麼需要。

 

xib/nib文件可以通過NSBundle裝載。得到的是一個NSArray。在xib編輯器裏看到的除了File's Owner, First Responder以外的東西都在這個數組裏面。通過這個東西我們可以手動裝載一個UIView進來,並且,在裝載的時候進行xib內容到File's Owner綁定。

 

通過以下步驟可以完成

1,創建一個UIViewController

2,定義你想要的事件和屬性,並且指定成IBOutlet和IBAction

3,再創建一個xib文件

4,進入這個新的xib文件,編輯File's Owner,將他的類型設置成我們創建的UIViewController

5,從這時候開始UIViewController就對應了兩個xib文件了,這樣我們可以通過編輯器來綁定內容。

6,隨便加一些按鈕,綁定些內容

7,在viewDidLoad方法里加入載入子控件的代碼

  1. - (void)viewDidLoad {  
  2.     [super viewDidLoad];  
  3.         NSArray* nibViews =  [[NSBundle mainBundle] loadNibNamed:@"sub" owner:self options:nil];  
  4.         UIView *subView = [nibViews objectAtIndex:0];  
  5.         [self.view addSubview:subView];  
  6. }  
 

8,執行,你會看到子控件被載入到了UIViewController的View裏了。並且,在編輯器裏綁定的內容都是有效的。成功動態增加了UIViewController的內容。

發佈了20 篇原創文章 · 獲贊 6 · 訪問量 45萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章