为了对各种各样的独特视图进行分类,我进行了精心设置:通过工具栏选择主要类别,然后在类别的 NSScrollView 中选择特定窗格。这看起来像:窗口 -> NSViewController 控制五个视图 -> 每个视图的子 NSViewController 控制 X 视图 -> 每个视图都包含一个核心绘图图。简而言之,嵌套的 NSViewControllers 在几乎每条路径的末尾都有一个核心图 CPLayerHostingView。
在我回答我的问题之前,请随时指出这是一个糟糕的实现。就用户友好性而言,我认为这是有道理的,但是嵌套对象的绝对数量让我想知道是否有更好的方法。
现在,假设我已经以最好的方式设计了它,问题本身:假设我选择了一个类别,然后选择了一个子项目,并且正在查看一个渲染图。如果调整窗口大小,我希望图表能够适当地调整大小。在 Interface Builder 中,我已经做了一切必要的事情来实现这一点:从 CPLayerHostingView 到主窗口中的 NSView 的所有内容都已设置为在所有方向上自动调整大小。尽管如此,如果我在运行时调整大小,图形将保持静止,不会调整大小或移动。在具有零个或一个 NSView 层的设计中,这将更容易调试,但在这种情况下我没有想法。
我可以使用什么技巧,程序化或基于 IB 来确保 NSView 根据窗口调整大小来调整很多很多级别?