Xcode – 如何将XIB连接到ViewController类

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

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

我打开我的xib,去它的fileOwner的Identity Inspector,然后select“Custom Class”TestViewController。

但是这似乎还不够 – 当我打开TestView.xib,然后select“Assist Editor View”时,它应该在分割屏幕的右侧显示相应的ViewController – 在我的例子中是“TestViewController.h” 。 但它不!

是否有必要将xib以任何方式绑定到视图控制器,方法是将行拖到文件中,就像使用sockets和动作一样?

点击selectxib。 现在,select文件的所有者。 在右侧的属性面板中,select第三个标签“Identity Inspector”。 有一个名为Custom Class的标题。 给你的视图控制器的名字。 在此之后,您可以连接文件的所有者的元素。

在这里输入图像说明

在视图控制器中创build一个“视图”sockets(UIView)并将其标记为IBOutlet。 (在xcode中创build文件时使用正确的默认值/模式时,此属性应该已经存在。)在Interface Builder中,在视图控制器/文件所有者的主视图和视图属性/sockets之间创build一个链接。 仅供参考:在创build/分配视图控制器时,应该使用适当的XIB文件来初始化它。 这是视图控制器对象绑定到XIB文件外生成的视图的时刻。

当我创build一个UIViewController子类时,我想我遇到了这种情况,但是当我这样做的时候忘了检查“.xib for UI”。 后来,我又分别创build了.xib文件。

下面是关联新的UIViewController和.xib的更多步骤。

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

  2. 然后在左窗格中按住Ctrl或右键单击文件的所有者,并在左窗格的“对象”部分中画出一条到顶层视图。 select'视图'出口,你就完成了。

你现在应该能够build立其他的网点和行动。 你已经准备好在代码中实例化你的视图控制器,并使用initWithNibName和你的nib名字来加载它。

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

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

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

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]]; 

现在,您将看到您的视图控制器,如您所料…

我希望这有帮助….

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

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