有些情況下,我們發現有一些界面上的控件是可以復用的。
如果每次都拷貝這些控件過去,就是比較麻煩。所以,就用一個xib文件,創建一個view,把要復用的控件,放在裡面組成一個view,然後在其他的ViewController裡面引用就行了。
這樣會方便很多。
第一步:創建一個SingleViewApplication,命名為“xib作為子控件復用”,在項目裡New File,選擇Cocoa Touch Class,命名為"AAView",點擊Next,如圖1所示:
第二步:創建一個View,在項目裡面New File,選擇View,點擊Next,如圖2所示。命名為”AAView“,點擊Create,如圖3所示:
第三步:選中AAView.xib,點擊View,更改Custom Class為“AAView”(即剛才所創建的AAView.h和AAView.m文件),如圖4所示。如果要修改View的大小,可以設置屬性Size為 “Freeform”。
第四步: 在View裡面添加4個Label,修改Text,如圖5所示。為"小王"和"21"兩個Label添加Outlets,按住Control拖到AAView.h文件,分別命名,如圖6所示:
第五步:現在就是如何把這個View作為子控件加載到其他界面了,打開ViewController.m文件,把AAView.h” import進來,然後在ViewDidLoad裡面寫入以下代碼:
AAView *aaView = [[[NSBundle mainBundle] loadNibNamed:@"AAView" owner:self options:nil] lastObject]; aaView.lbName.text = @"小明"; aaView.lbAge.text = @"25"; [self.view addSubview:aaView];
運行程序,結果如圖7所示:
至此,可以看見姓名和年齡都改變了,成功完成把xib文件作為一個子控件使用。如果你覺得位置不滿意,可以更改創建的View的Frame屬性,改變大小和位置。
有時候你有很多復雜的控件組成一個復雜的組件,然後進行復用,這就是一個很好的辦法。