59

我首先创建了我的 TestViewController.h 和 *.m。之后是我的 TestView.xib。

现在我需要告诉我的 xib:“是的,请将 TestViewController 类作为我的文件所有者”。

我打开我的 xib,转到其 fileOwner 的身份检查器并在“自定义类”TestViewController 下选择。

但这似乎还不够——当我打开 TestView.xib,然后选择“辅助编辑器视图”时,它应该会在分屏的右侧显示相应的 ViewController——在我的例子中是“TestViewController.h” . 但事实并非如此!

是否有必要通过将行拖到文件中以任何方式将 xib 绑定​​到其视图控制器,就像您使用插座和操作一样?

4

6 回答 6

94

单击以选择 xib。现在,选择文件的所有者。在右侧的属性面板中,选择第三个选项卡“Identity Inspector”。有一个名为Custom Class的标题。在那里给出您的视图控制器的名称。在此之后,您可以将元素与文件的所有者联系起来。

在此处输入图像描述

于 2012-06-27T12:09:04.570 回答
21

我想我在创建 UIViewController 子类时确实遇到了这种情况,但在我这样做时忘记检查“使用 .xib for UI”。后来,我回去单独创建了.xib。

这是关联新 UIViewController 和 .xib 的更一步一步的方法。

  1. 在 IB 左侧窗格的占位符下选择文件的所有者。在 Property Inspector(IB 的右窗格)中,选择第三个选项卡并编辑“Custom Class”下的“Class”作为新 UIViewController 子类的名称。

  2. 然后在左窗格中按住 ctrl 单击或右键单击 File's Owner,然后在左窗格的 Objects 部分中的顶层视图中画一条线。选择“查看”插座,您就完成了。

您现在应该能够设置其他出口和操作。您已准备好在代码中实例化您的视图控制器并使用 initWithNibName 和您的 nib 名称来加载它。

于 2013-08-01T20:30:06.623 回答
17

在视图控制器中创建一个“视图”出口(UIView)并将其标记为 IBOutlet。(当您在 xcode 中创建文件时使用正确的默认值/模式时,该属性应该已经存在。)在 Interface Builder 中,在主视图和视图控制器/文件所有者的视图属性/出口之间创建一个链接。只是为了全貌:在创建/分配视图控制器时,您应该使用适当的 XIB 文件对其进行初始化。这正是视图控制器对象绑定到从 XIB 文件生成的视图的时刻。

于 2012-06-27T12:11:34.873 回答
6

1)首先就像每个人所说的在文件所有者类中给出视图控制器名称

2)选择文件的所有者从那里拖一条线来查看这连接了两者

3)创建一个视图控制器的实例并将其添加到窗口中,代码片段如下,

MyViewController *controller = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];

4)最后将视图控制器的视图作为子视图添加到窗口中。要做到这一点,编码如下,

[window addSubview:[controller view]];

在 appdelegate 上尝试以下代码段

- (void)applicationDidFinishLaunching:(UIApplication *)application {    

    // Override point for customization after application launch
    [window makeKeyAndVisible];

    MyViewController *controller = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];
    [window addSubview:[controller view]];
 }

5)使用以下代码片段最大化视图到窗口的大小,以便不会出现间隙

[controller.view setFrame:[[UIScreen mainScreen] applicationFrame]];

现在您将看到您预期的视图控制器...

我希望这有帮助....

于 2013-04-05T04:51:20.407 回答
0

是的,您必须从界面生成器将视图属性添加到该视图控制器的文件所有者:

于 2012-06-27T12:03:42.483 回答
0

选择您的文件所有者转到身份检查器窗口,并将文件所有者的类名更改为您的视图 .h 文件,这将连接。

于 2012-06-27T12:07:22.340 回答