0

我知道有几个与此类似的问题,但我发现它们中的大多数不适用于当前的 IB / iOS 或不完整。

我想要一个自定义 UIView 有一个笔尖,但我没有hooked up正确地得到它。我花了几个小时调试,然后我就去了(也许坐在浴缸里)。如果您觉得这是一个简单的操作,请提前道歉;提前谢谢任何帮助。

目前要做到这一点,我:

  1. 创建自定义视图文件:File -> New -> File -> Objective-C Class 并选择 UIView 的类型并将其命名为 MyView;创建 MyView.h 和 MyView.m
  2. 创建自定义视图笔尖:文件 -> 新建 -> 文件 -> 用户界面 -> 视图并将其命名为“酷”;cool.xib 已创建
  3. 在 IB for cool.xib 中,进入 Identity Inspector 并从 UIView -> MyView 设置自定义类;问题 #1 - 此时 MyView 是否知道在实例化时加载cool.xib 还是需要做更多?
  4. 此外,在 IB 中,我突出显示文件的所有者并将其自定义类设置为 MyView。(? - 不确定)
  5. 我想创建一个文本标签,所以我将一个 UILabel 拖到 cool.xib 上,并在 MyView.h 中创建一个公共属性 (myLabel)。问题 #2 我是否需要为此设置自定义类为 MyView?我不认为这只是一个标准的 UILabel。
  6. 我有一个单视图应用程序,我想在它上面有一个 MyView /cool 的实例,所以在 IB 中,我将一个视图从对象检查器拖到 ViewController.xib 视图中。在 IB Identity Inspector 中,我将类设置为 MyView。我将 MyView.h 文件导入 ViewController.h 并在界面中为其设置属性。
  7. 在 ViewController.m 的 viewDidLoad 中,我将背景颜色设置为橙色并设置 myLabel(由 Xcode 填充,因此它似乎有点工作)。

我运行应用程序,backgroundColor 设置为橙色但没有标签,我很困惑为什么不呢?以上步骤是否有错误?

提前谢谢

4

1 回答 1

1

在 IB for cool.xib 中,进入 Identity Inspector 并从 UIView -> MyView 设置自定义类;问题 #1 - 此时 MyView 是否知道在实例化时加载cool.xib 还是需要做更多?

它知道您的 XIB 由该类管理。但是还需要做更多的工作,才能让你使用它。

跳过第 4 题。这适用于 a UIViewController,您可以在其中与文件所有者一起定义谁将负责它。

我想创建一个文本标签,所以我将一个 UILabel 拖到 cool.xib 上,并在 MyView.h 中创建一个公共属性 (myLabel)。问题 #2 我是否需要为此设置自定义类为 MyView?我不认为这只是一个标准的 UILabel。

如果您希望能够从MyViewMyView的. 在这种情况下,您不要触摸文件的所有者。MyViewUILabel

最后检查一下,为了正确加载自定义视图=>从笔尖加载自定义UIView,笔尖中包含的所有子视图都是零?

于 2013-03-04T07:33:27.617 回答