2011-05-18 28 views
14

我有同樣的問題上this page:(恩子視圖OBJ 的UIView)如何在Xcode 4中使用自定義對象?

在Interface Builder 3,我們可以將自定義對象的舞臺。但是在XCode 4中,我們創建了一個xib之後,除了代碼之外,我有 的問題。
而在「對象庫」 - >「自定義對象」中,它是空的。

Custom Objects in Xcode 4

但給出的答案有我不起作用。我將xib文件拖到「自定義對象」列表中,但它不會將任何內容添加到列表中。

+0

我想編輯你的問題,讓它包含OS X開發,而不僅僅是iPhone開發(就像@Michael指出的那樣),但我覺得我正在改變問題的本質,所以我會讓你決定是否想改變這個問題。 – 2012-06-17 02:45:50

+1

我覺得不是用Interface Builder吸吮小時,而應該簡單地從代碼創建視圖。 – 2012-06-20 02:11:37

回答

-6

您可以在「界面」構建器中指定自定義類 在類下拉列表中,您可以選擇「界面」構建器中的UI元素的自定義類。該類必須被添加到項目中才能顯示在下拉菜單中。

enter image description here

+0

如果自定義類有一個xib作爲它的一部分,我不認爲這種方法有效,它只適用於自定義類只基於.h和.m文件 – 2cupsOfTech 2011-05-19 07:05:48

+3

自定義界面生成器對象和自定義類。 – typeoneerror 2011-12-20 18:18:51

0

我認爲,還存在另一種方式做到這一點。

  1. 創建一個.nib文件。在這個.nib中做任何你想做的事情,比如帶有一些UI控件的UIView。
  2. 複製此自定義UIView。
  3. 回到你想添加這個自定義UIView的故事板。
  4. 選擇目標UIViewController並粘貼完成。
12

既然你把這個問題標記爲「iPhone」,我假設你正在做iOS開發。您無法使用Xcode的「自定義對象」功能進行iOS開發 - 這意味着可用於爲Mac開發的應用程序。

最接近真正能夠模仿iPhone開發的這個功能的是創建自己的自定義UIView組件,然後您可以在xib文件之間進行拖動。

您還可以創建具有.h/.m/.xib文件的自定義UIView子類。如果要以編程方式創建對象,可以這樣做:

NSArray *items = [[NSBundle mainBundle] loadNibNamed:@"MyClass" owner:owner options:nil]; 
id myView = [items objectAtIndex:0]; 

關於Mac開發,自定義對象面板實際上不再使用。我可以想象這個功能將會被排除在未來的Xcode版本之外,或者Apple仍在努力改進對IB插件的支持。 Xcode和Interface Builder的早期版本(當IB是它自己的應用程序時返回)支持界面構建器插件和創建自定義UI元素。 BWToolkit是一個這樣的插件的例子。從文檔:

Xcode 4對Interface Builder 3插件提供了有限的支持。 具體而言,您可以使用Interface Builder插件 依賴項來構建項目,但不能編輯nib文件。當您嘗試打開帶有插件依賴關係的 nib文件時,Xcode 4會顯示一個對話框 ,提示您更新文件(圖4-3)。如果您同意,Xcode 會將使用插件構建的自定義對象類轉換爲最靠近AppKit類的 。如果轉換不可行,Xcode 4 會提供詳細的錯誤消息。在這種情況下,必須使用界面生成器3除去 插件的依賴,才能在Xcode 4

+0

這是非常有用的,它確實回答了這個問題,因爲問題實際上被標記爲iPhone,但如果您可以添加有關如何在OS X開發中使用此自定義對象功能的附加信息,我將非常感激。 – 2012-06-17 02:49:54

+0

我添加了一個關於Mac開發的筆記。 – 2012-06-18 23:00:46

相關問題