2011-05-18 61 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

相关问题