我首先创建了TestViewController.h和* .m。然后我的TestView.xib。
现在我需要告诉我的xib:“是的,请把TestViewController作为我的文件所有者”。
我打开我的xib,转到其fileOwner的Identity Inspector,然后选择“Custom Class”TestViewController。
但这似乎还不够 - 当我打开TestView.xib,然后选择“Assistent Editor View”时,它应该在分屏的右侧部分显示相应的ViewController - 在我的例子中是“TestViewController” 。H”。但事实并非如此!
是否有必要将xib以任何方式绑定到其viewcontroller,方法是将行拖动到文件中,就像使用outlet和actions一样?
答案 0 :(得分:89)
单击以选中xib。现在,选择文件的所有者。在右侧的属性面板中,选择第三个选项卡“Identity Inspector”。有一个名为自定义类的标题。在那里提供您的视图控制器的名称。在此之后,您可以将元素与文件所有者连接。
答案 1 :(得分:19)
我想我在创建UIViewController子类时遇到了这种情况,但是当我这样做时忘了检查“用.xib for UI”。后来,我回去分别创建了.xib。
以下是将UIViewController和.xib关联起来的更为循序渐进的方法。
在IB的左窗格中选择占位符下的文件所有者。在Property Inspector(IB的右侧窗格)中,选择第三个选项卡并编辑“Custom Class”下的“Class”,作为新UIViewController子类的名称。
然后按住Ctrl键单击或右键单击左窗格中的“文件所有者”,并在左窗格的“对象”部分中的顶级视图中绘制一条线。选择“查看”插座即可完成。
您现在应该可以设置其他插座和操作。您已准备好在代码中实例化视图控制器,并使用initWithNibName和您的nib名称来加载它。
答案 2 :(得分:17)
在视图控制器中创建“视图”插座(UIView)并将其标记为IBOutlet。 (在xcode中创建文件时使用正确的默认值/模式时,此属性应该已存在。) 在Interface Builder中,在主视图和视图控制器/文件所有者的视图属性/出口之间创建链接。 只是为了全面了解:在创建/分配视图控制器时,您应该使用适当的XIB文件初始化它。这是当前视图控制器对象绑定到从XIB文件生成的视图的时刻。
答案 3 :(得分:6)
1)首先就像每个人所说的那样在文件所有者的类中给出视图控制器名称
2)选择文件所有者从那里拖一条线以查看这将连接两者
3)创建一个View控制器实例并将其添加到窗口,代码片段如下所示,
MyViewController *controller = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];
4)最后将视图控制器的视图作为子视图添加到window.TO执行编码如下,
[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)使用以下代码段将视图大小最大化到窗口,这样就不会出现gape
[controller.view setFrame:[[UIScreen mainScreen] applicationFrame]];
现在您将按预期看到您的视图控制器......
我希望这有帮助......
答案 4 :(得分:0)
是的,您必须从界面构建器将视图属性添加到该视图控制器的文件所有者:
答案 5 :(得分:0)
选择您的文件管理器转到身份检查器窗口,并将文件所有者的类名更改为您的视图.h文件,即将连接。