首页 文章

Xcode - 如何将XIB连接到ViewController类

提问于
浏览
56

我首先创建了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一样?

6 回答

  • 0

    单击以选中xib . 现在,选择文件的所有者 . 在右侧的属性面板中,选择第三个选项卡"Identity Inspector" . 有一个名为 Custom Class 的标头 . 给你的视图控制器's name there. After this, you can connect the elements with the file'的所有者 .

    enter image description here

  • 6

    我想我在创建UIViewController子类时遇到了这种情况,但是当我这样做时忘了检查“用.xib for UI” . 后来,我回去分别创建了.xib .

    以下是将UIViewController和.xib关联起来的更为循序渐进的方法 .

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

    • 然后按住Ctrl键单击或右键单击左窗格中的文件所有者,并在左窗格的“对象”部分中的顶级视图中绘制一条线 . 选择“查看”插座即可完成 .

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

  • 0

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

  • 18

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

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

    我希望这有帮助....

  • 17

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

  • 86

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

相关问题