2009-11-09 104 views
6

這不應該是這個混亂。我有一個自定義的UIView上的控件。 UILabels,按鈕等。我使用Interface Builder創建了這個Nib。我希望能夠使用界面構建器將此自定義uiview定位在另一個UIView上。使用界面生成器構建的自定義UIView可通過界面生成器訪問/定位

如何將我的UIView自定義類連接到筆尖? initWithCoder被調用,但我希望這個類從nib加載。

感謝

+0

您是否找到了可以接受的答案?請標記它,謝謝。 – JoePasq 2010-07-06 18:52:09

+0

@JoePasq你在這裏看到任何有效的答案嗎? – 2010-09-15 15:34:03

+0

我其實從來沒有得到這個工作不幸的是 – Nader 2010-09-20 17:01:01

回答

3

爲此,您必須爲Interface Builder創建一個使用您的自定義控件類的插件。只要創建並安裝插件,您就可以通過將視圖實例拖放到Interface Builder中的其他窗口或視圖中進行添加。要了解創建IB插件的信息,請參閱Interface Builder Plug-In Programming Guide以及Aaron Hillegass的書Cocoa Programming for Mac OS X創建自己的IB Palette控件的章節。

Here是對a similar question接受答案的原作者的鏈接。

+3

事實證明,這不支持XCode 4.0+ – 2013-01-06 19:34:06

0

您可以將使用Interface Builder一個UIViewController對象,然後設置UIViewController的‘筆尖名稱’屬性。 我不知道這是否會弄亂你的模型,但我認爲這是你做嘗試的唯一方法。

+0

嗨肯尼,感謝您的快速反應。我剛剛嘗試過。我在我的主視圖中添加了一個UIViewController,將它的nib名稱設置爲自定義子視圖的nib,並將uiviewcontroller的視圖屬性連接到界面構建器中的自定義視圖。一樣。它只是沒有顯示出來。 initWithCoder在自定義視圖中被調用,但沒有任何顯示。 – Nader 2009-11-09 00:28:12

0

在IB調出Identity Inspector工具(Command-4),然後選擇您的自定義視圖,並在Class彈出窗口中選擇您的自定義類的名稱而不是通用UIView。您也可以將它連接到伊娃。在您的ViewController中,在其前面用IBOutlet聲明您的自定義類的實例。然後返回並調出Connections Inspector並通過從自定義視圖的引用出口單擊拖動到File's Owner(它應該是ViewController的一個實例)並選擇ivar名稱來將視圖連接到ivar。

當你的NIB被加載時,它應該創建一個該類型的對象並將其連接到該變量。