【问题标题】:How to load a UIView from a NIB?如何从 NIB 加载 UIView?
【发布时间】:2011-02-08 13:12:13
【问题描述】:

我一直在使用UIViewControllers 和initWithNibName 并取得了很大的成功,基本上将它们用作使用Interface Builder 设计视图的便捷方式。不幸的是,在UIViewController 文档中注意到这一行之前,我已经构建了视图层次结构:

注意:您不应该使用视图 控制器来管理填充的视图 只是他们窗口的一部分

我的问题是:有一个非常简单的 NIB,除了默认的 First Responder 和 Owning Object 之外只有一个 UIView,那么将 UIView 加载到我的代码中的最简单方法是什么?

此时我无法让loadNibNamed:owner:options: 工作,但怀疑答案会以某种方式涉及它。

【问题讨论】:

    标签: iphone objective-c uiview nib


    【解决方案1】:

    是的,只需拨打电话

    [[NSBundle mainBundle] loadNibNamed:@"viewNib" owner:self options:nil];
    

    您通常从您在 NIB 中设置为文件所有者的视图控制器执行此操作。这样,您可以在视图控制器中为视图声明一个出口,该出口将在您加载 NIB 文件时自动连接。在这种情况下,您甚至不必处理方法的返回值。

    【讨论】:

    • 谢谢,我错过了mainBundle 部分
    • 嗨,一个简单的问题:这种方法是否处理具有 CustomView 类的情况?如果 File's Owner 是视图控制器,从中初始化视图,我如何将 nib 中的所有元素(例如 MyLabel)实际挂钩到 CustomView 类 IBOutlets ?
    • 只是视图的类到您在 IB 中的自定义类,然后连接插座。与您一直做的事情没有区别。
    • 但是如果这个 UIView 已经构建在 nib 上并且我想重用它,我该怎么办?
    • 对于自定义视图的 IBOutlets 去哪里我有点困惑......他们只是进入视图控制器吗?如果是这样,那么拥有一个单独的自定义视图有什么意义,因为无论如何都不能将任何代码拆分为单独的类?
    猜你喜欢
    • 1970-01-01
    • 2011-05-05
    • 2014-09-11
    • 2013-04-29
    • 2017-10-31
    • 1970-01-01
    • 2011-03-22
    • 2012-10-13
    • 1970-01-01
    相关资源
    最近更新 更多