gpt4 book ai didi

ios - 使用 IB/Xcode 4.5.1 和 iOS Simulator 6.0 自定义 UIView 操作方法

转载 作者:行者123 更新时间:2023-11-29 04:06:08 25 4
gpt4 key购买 nike

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

我想要一个带有 Nib 的自定义 UIView,但无法正确连接此连接。我花了几个小时进行调试,然后我就走了(也许坐在浴缸里)。如果您觉得这是一个简单的操作,请提前道歉;提前感谢您的帮助。

目前要做到这一点,我:

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

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

提前致谢

最佳答案

In IB for cool.xib, go into Identity Inspector and set the Custom Class from UIView -> MyView; Question #1 - at this point does MyView know to load cool.xib when it is instantiated or does more need to be done?

它知道您的 XIB 是由该类管理的。但为了让你使用它,还需要做更多的事情。

跳过第四个问题。这适用于 UIViewController,您可以在其中定义由文件所有者负责的人。

I want to create a text label so I drag out a UILabel onto cool.xib and create a public property (myLabel) in MyView.h. Question #2 Do I need to set the custom class for this to MyView? I would think not as this is just a standard UILabel.

如果您希望能够从 MyView 访问该 UILabel,您应该在 MyView 中创建一个 IBOutlet 并从根 UIView(即子 UIView)链接-MyView 的类)到 UILabel。在这种情况下,您不会触及文件的所有者。

最后检查一下,以便正确加载自定义 View => Loading custom UIView from nib, all subviews contained in nib are nil?

关于ios - 使用 IB/Xcode 4.5.1 和 iOS Simulator 6.0 自定义 UIView 操作方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15195349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com