【问题标题】:Multiple NSViews into one Xib file多个 NSView 到一个 Xib 文件中
【发布时间】:2012-06-09 21:19:42
【问题描述】:

几天来,我一直在试图弄清楚如何将多个 NSView 处理到一个 .xib 文件中。我添加了一个NSViewController 子类,我将其用作我的主控制器,它有两个NSViews,带有两个自定义视图的插座。我将它分为两​​个 NSViewController(PumpController 和 TransactionController)来控制两个自定义视图的内容。

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

链接:http://i.stack.imgur.com/gwSAq.jpg

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

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

对不起我的英语:s

提前致谢

【问题讨论】:

    标签: objective-c cocoa xcode4 iboutlet nsviewcontroller


    【解决方案1】:

    我是这样做的:

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

    【讨论】:

    • 成功了!但是,我想我会重写我的应用程序,将视图划分为每个视图的一个 nib。因此,与 IB 和文件所有者一起工作会更容易。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2017-12-09
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    • 2012-01-12
    • 1970-01-01
    • 2013-10-11
    • 1970-01-01
    相关资源
    最近更新 更多