3 回答

TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊
還有一種更簡(jiǎn)單的方法來(lái)訪問(wèn)視圖,而不是將nib作為數(shù)組處理。
1)創(chuàng)建一個(gè)自定義View子類(lèi),其中包含您希望以后可以訪問(wèn)的任何出口。 - 我的看法
2)在你想要加載和處理nib的UIViewController中,創(chuàng)建一個(gè)IBOutlet屬性來(lái)保存加載的nib的視圖,例如
在MyViewController中(一個(gè)UIViewController子類(lèi))
@property (nonatomic, retain) IBOutlet UIView *myViewFromNib;
(別忘了合成它并在你的.m文件中發(fā)布它)
3)在IB中打開(kāi)你的筆尖(我們稱之為'myViewNib.xib'),將你文件的所有者設(shè)置為MyViewController
4)現(xiàn)在將文件的所有者插座myViewFromNib連接到筆尖中的主視圖。
5)現(xiàn)在在MyViewController中,寫(xiě)下以下行:
[[NSBundle mainBundle] loadNibNamed:@"myViewNib" owner:self options:nil];
現(xiàn)在,只要您這樣做,調(diào)用您的屬性“self.myViewFromNib”將允許您從筆尖訪問(wèn)視圖!

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超22個(gè)贊
謝謝你們。我確實(shí)找到了一種方法來(lái)做我想做的事。
UIView
用IBOutlet
你需要的東西創(chuàng)造你的。在IB中創(chuàng)建xib,根據(jù)自己的喜好設(shè)計(jì)它并將其鏈接如下:文件的所有者屬于類(lèi)
UIViewController
(沒(méi)有自定義子類(lèi),但是“真正的”子類(lèi))。文件所有者的視圖連接到主視圖,其類(lèi)聲明為步驟1)中的類(lèi)。將控件與
IBOutlet
s 連接。在
DynamicViewController
可以運(yùn)行它的邏輯來(lái)決定哪些視圖/廈門(mén)國(guó)際銀行加載。一旦它做出了決定,在loadView
方法中放了這樣的東西:NSArray* nibViews = [[NSBundle mainBundle] loadNibNamed:@"QPickOneView" owner:self options:nil];QPickOneView* myView = [ nibViews objectAtIndex: 1];myView.question = question;
而已!
主bundle的loadNibNamed
方法將負(fù)責(zé)初始化視圖和創(chuàng)建連接。
現(xiàn)在,ViewController可以根據(jù)內(nèi)存中的數(shù)據(jù)顯示一個(gè)或另一個(gè)視圖,而“父”屏幕不需要打擾這個(gè)邏輯。
- 3 回答
- 0 關(guān)注
- 454 瀏覽
添加回答
舉報(bào)