你如何在Xcode 4中使用自定义对象?

时间:2011-05-18 10:57:22

标签: iphone objective-c xcode

我和this page上的问题相同:

  

在Interface Builder 3中,我们可以拖动自定义对象(例如subview obj   UIView)到舞台。但是在XCode 4中,在我们创建了一个xib后,我有了   除了代码之外,重用它的麻烦   并在“对象库” - > “自定义对象”,它是空的。

     

Custom Objects in Xcode 4

但那里给出的答案对我不起作用。我将xib文件拖到自定义对象列表中,但它不会向列表中添加任何内容。

4 个答案:

答案 0 :(得分: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   提供详细的错误消息。在这种情况下,您必须删除   在编辑之前使用Interface Builder 3的插件依赖项   Xcode 4中的nib文件。

答案 1 :(得分:1)

这是你的答案。您无法通过Xcode 3.x创建自定义对象。

How to use "Custom Objects" in IB in XCode 4

如果您使用自定义对象打开Xcode 3项目,它将显示在此列表中。

答案 2 :(得分:0)

我认为还有另一种方法可以做到这一点。

  1. 创建.nib文件。在这个.nib中做任何你想做的事情,比如带有一些UI控件的UIView。
  2. 复制此自定义UIView。
  3. 返回要添加此自定义UIView的故事板。
  4. 选择目标UIViewController并粘贴,完成。

答案 3 :(得分:-6)

您可以在“界面”构建器中指定自定义类 在类下拉列表中,您可以在“界面”构建器中为ui元素选择自定义类。必须将该类添加到项目中才能显示在下拉列表中。

enter image description here