【问题标题】:How to load a view when its outlets and actions are contained in the view being loaded?当视图的出口和动作包含在正在加载的视图中时,如何加载视图?
【发布时间】:2013-06-03 19:31:12
【问题描述】:

我喜欢创建一个名为Configurator 的小型自定义视图类,它派生自UIView。我希望将IBOutletsIBActions 放置在Configurator 本身中(而不是在任何视图控制器中)。我在 IB 中创建了布局,其中我还指出 Files Owner 属于 Configurator 类。

我的问题是,当我使用下面的代码 sn-p 加载视图时,我必须提供所有者。但所有者是正在加载的对象。`

NSArray *arr = [[NSBundle mainBundle] loadNibNamed:@"configurator" 所有者:????选项:无];配置器 *viewConf = [arr objectAtIndex:0];

问题:当视图的出口和动作包含在正在加载的视图中时,如何加载视图?

编辑:我的主视图将加载小型配置器视图并将其显示在屏幕的一小部分。我不能将所有者设置为 self,因为这意味着出口和操作位于主视图中。

【问题讨论】:

    标签: ios uiview nib


    【解决方案1】:

    通常控制器会加载视图。加载本身的视图似乎不正确。当您有一个单独的控制器加载视图时,所有者将是控制器。

    【讨论】:

      【解决方案2】:

      保持所有者为self。这将与我们使用自定义 UITableViewCell 相同,如下所示:

      NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellIdentifier owner:self options:nil];
      cell = (MyCell *)[nib objectAtIndex:0];
      

      这将仅引用您的自定义视图 IBOutletsIBActions

      希望这能消除您的疑虑。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-09
        • 2019-07-04
        • 2018-09-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多