最近我對UIViews有些困惑,我一直在使用它們,直到這一點,他們只是拒絕遵守!在初始化期間將IBOutlet UIView添加到數組中
我有一個UIViewController,它包含5個不同的視圖。我創建IBOutlets對於這些意見,我想在運行時交換它們:
IBOutlet UIView *view1;
IBOutlet UIView *view2;
IBOutlet UIView *view3;
IBOutlet UIView *view4;
IBOutlet UIView *view5;
爲了使它們更容易維護,我決定讓他們所有的數組,稱爲viewArray內。現在我試圖將視圖添加到數組中,如下所示:
viewArray = [NSArray arrayWithObjects:view1, view2, view3, view4, nil];
這是在我的UIViewController類的init函數中調用的。我已將所有IBOutlet鏈接到它們在xib/interface文件中的相關視圖,但它們似乎未被初始化。在進一步調試之後,它看起來像視圖在初始化函數被調用之後才被初始化?
那麼我該如何創建這些對象的數組?在顯示視圖之前,我需要選擇相關視圖,因此viewDidLoad不是一個選項。
我知道,你可以抓住事物的標籤和隱式使用它們設置:
imageExample = (UIImageView *)[self.view viewWithTag:100];
但僅憑這些就能用來尋找的看法,它肯定會被搜索的最初初始化視圖中的標籤(廠景)?
感謝先進的任何幫助, 親切的問候, 埃利奧特
哪裏了'viewArray = [NSArray的arrayWithObjects ...'語句出現在你的代碼中?它是你的'init'方法嗎? – dasblinkenlight 2012-02-17 15:45:51
是的,它在init中。 – 2012-02-17 15:49:03
我假設在你第一次訪問它們時,'IBOutlet'變量的值被設置爲非零,對吧? – dasblinkenlight 2012-02-17 15:57:19