【问题标题】:Add a UIView to a UIViewController with Xib使用 Xib 将 UIView 添加到 UIViewController
【发布时间】:2011-06-15 04:02:19
【问题描述】:

这是我想要做的:

  1. 我有AViewController,它是 Xib,然后我添加了一个 UIView 一半的屏幕,我将此视图连接到 B-UIView,B-UIView 有自己的 xib,我在其中进行设计。

换句话说,我有一个视图控制器,它的视图成为“主视图”,因为我向它添加了其他带有自己的 xib 的视图。

层次结构:

1 ViewController UIView (xib) 2.B-UIView(自带xib) 3.C-UIView(自带xib)

如果可以的话,这可能吗?

提前非常感谢!

【问题讨论】:

    标签: uiview uiviewcontroller xib


    【解决方案1】:

    是的,你绝对可以做到这一点,而且一点也不难!

    事实上,这是在 Interface Builder 中设计某些东西的一种非常常见的方式。然后,您可以使用loadNibNamed 以编程方式加载您的自定义 Xib 文件。例如:

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

    Apple 的文档在“iOS 表视图编程指南”中谈到了这一点。

    虽然他们的示例是关于创建自定义表格单元格,但相同的规则适用于任何视图。仔细查看标题为Loading Custom Table-View Cells From Nib Files 的部分。

    在该示例中他们没有做的一件事是加载顶级视图。 loadNibNamed 返回一个数组,因此要获得您所追求的顶级视图,您还应该这样做:

       MyCustomView *myCustomView = [myNibsArray objectAtIndex:0];
    

    因此,您的代码将如下所示:

       NSArray *myNibsArray = [[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:self options:nil];
       MyCustomView *myCustomView = [myNibsArray objectAtIndex:0];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-29
      • 2018-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多