Objective c 将多个NSView合并到一个Xib文件中

Objective c 将多个NSView合并到一个Xib文件中,objective-c,cocoa,xcode4,iboutlet,nsviewcontroller,Objective C,Cocoa,Xcode4,Iboutlet,Nsviewcontroller,几天来,我一直在试图找出如何将多个NSView合并到一个.xib文件中。我添加了一个NSViewController子类,我使用它作为我的主控制器,它有两个NSViews,带有两个自定义视图的插座。我将其子类化为两个NSViewController(PumpController和TransactionController),以控制两个自定义视图的内容 当我将MainController(文件所有者)的视图绑定到其中一个自定义视图时,我可以得到一半的结果。然后,当我将[self.view addS

几天来,我一直在试图找出如何将多个NSView合并到一个.xib文件中。我添加了一个
NSViewController
子类,我使用它作为我的主控制器,它有两个
NSView
s,带有两个自定义视图的插座。我将其子类化为两个NSViewController(PumpController和TransactionController),以控制两个自定义视图的内容

当我将MainController(文件所有者)的视图绑定到其中一个自定义视图时,我可以得到一半的结果。然后,当我将[self.view addSubview:SomeStuff]调用到其中一个NSViewController中时,我得到了正确的结果,但仅在我连接文件所有者的视图中。我需要在两个视图中都获得结果,但不能有多个文件的所有者和视图出口。这是一张照片

链接:

此外,即使我用正确的视图绑定上面提到的插座,也无法从PumpController获得“outlet.bounds.size.width”结果。self.view.bounds.size.width提供文件所有者视图的结果,而不是PumpController视图的结果

我需要一些帮助来解释如何将每个自定义视图设置到每个NSViewController,以使其正常工作

对不起,我的英语是:s

提前感谢

我的做法如下:

  • 在主XIB中,将
    NSBox
    实例(无边框和标题)放置在希望显示ViewController视图的任何位置
  • 通过
    IBOutlets
    将框连接到文件的所有者
  • 在该XIB(可能=AppDelegate)的文件所有者中,实例化您的
    NSViewControllers
    ,并将NSBox实例的
    contentView
    属性设置为
    NSViewControllers
    view
    属性。类似这样:
    [self.leftBox setContentView:[yourViewController视图]]
我的做法如下:

  • 在主XIB中,将
    NSBox
    实例(无边框和标题)放置在希望显示ViewController视图的任何位置
  • 通过
    IBOutlets
    将框连接到文件的所有者
  • 在该XIB(可能=AppDelegate)的文件所有者中,实例化您的
    NSViewControllers
    ,并将NSBox实例的
    contentView
    属性设置为
    NSViewControllers
    view
    属性。类似这样:
    [self.leftBox setContentView:[yourViewController视图]]

成功了!不过,我想我会重写我的应用程序,将视图分成一个笔尖。因此,与IB和文件所有者一起工作会更容易。谢谢成功了!不过,我想我会重写我的应用程序,将视图分成一个笔尖。因此,与IB和文件所有者一起工作会更容易。谢谢