我是想在我使用一個稍微不同的方式來使用IB,我無法得到它的工作延長了正常的方法,我使用,具有IB打交道時。的UIView建立在Interface Builder連接到我的自定義的UIViewController
我不想製作一個新的UIViewController,而是爲我和所有由Xcode鏈接的視圖生成視圖XIB,我只想構建一個小的(320x40像素)視圖XIB並將其鏈接到我現有的ViewController。
我通過在Xcode中的新文件開始時,選擇「查看廈門國際銀行」。 然後我打開IB並添加一些標籤等視圖,我設置「文件所有者」是我現有的ViewController。 在我現有的ViewController中,我爲標籤等設置了IBOutlets。我放入了我的視圖。 我回到IB並將UILabels連接到「文件所有者」中的我的網點。
現在我認爲我有到廈門國際銀行內標籤的參考,在我的viewController。 這實際上並不是我想要的方法,我發現我的viewController無需在視圖中引用標籤。
如何我通常在代碼:
我的視圖控制器控制一堆UIViews的完全由代碼和誰實例化它們是:
UIView *customView = [[CustomView alloc] initWithFrame:aFrame];
[customView setTag:MY_CUSTOM_VIEW];
[customView setDelegate:self];
[self.view addSubView:customView];
[customView release];
此後,我將訪問標籤,按鈕從我的控制器使用[(UILabel*)[[self.view viewWithTag:MY_CUSTOM_VIEW] myLabel] [email protected]"Hello, World"];
等有我的UIViewController需要實現什麼都方法customView協議。
如何獲得該功能與IB
我應該首先建立擴展UIView類,有它握住我的所有IBOutlets,設置MyCustomClass作爲文件的所有者,然後實例化如上所示的MyCustomView類? 是否確定有對IB圖的圖充當的viewController和我將如何接力行動,以我的「真實」的viewController?
我想實現的是處理在我的UIViewControllers代碼中實例化和佈局多個UIViews,但是可以自由地在IB中設計一些這些UIViews。
我能找到的所有信息都是關於標準的「用視圖的XIB構建UIViewController」或「如何構建IB組件的庫」。
我希望這是有道理的,並感謝給予任何幫助:)
謝謝Toastor,這聽起來像我需要的東西。我在文檔中注意到它是一個iOS 4.0的新增功能,它會在運行3.x的設備上不起作用嗎?如果要包裝NIB視圖,文檔中也沒有提到如何構建NIB(處理插座等)。你能否指出我在哪裏可以看到這個功能是如何實現的。再次感謝。 – RickiG 2010-09-21 10:32:43
對不起,我不知道任何資源,我自己想出了一些東西。在你的筆尖內,你可以像往常一樣指定文件的所有者並進行適當的連接。儘管如此,它們對於所有實例都是相同的,因此您需要在實例化之後立即在新視圖上設置標籤,以便以後能夠區分它們。至於iOS 4之前的更換 - 我有完全相同的問題。我會立即更新我的答案並提供問題和答案的鏈接。 – Toastor 2010-09-21 10:48:14
你這樣做就像你會爲任何筆尖。假設你有一個視圖控制器並將該筆尖的內容添加到VC的視圖中。 VC有一個方法' - (IBAction)buttonPressed:(id)sender;'。如果在你的筆尖中添加一個按鈕並將文件所有者設置爲你的VC子類,那麼可以照常將操作連接到按鈕。當點擊該按鈕的任何實例時,該操作方法將被調用,但是,這就是爲什麼如果您只是一次實例化該筆尖,您需要標籤。否則,你不知道哪個按鈕被點擊。 – Toastor 2010-09-21 12:09:07