NSWindowController和NSViewController

fab*_*789 7 cocoa objective-c nswindow nsviewcontroller nswindowcontroller

可能是一个非常简单的问题,但我无法理解它.

我想创建一些向导:一个NSWindow来自另一个的表单,NSWindow并且应该NSView一个接一个地显示三个不同的s.

我想我应该创建一个自定义NSWindowController和三个NSViewController但我不知道如何设置控制器以及如何交换视图.

小智 12

简而言之,您的窗口控制器将实例化三个视图控制器,具有主机视图,并添加-[NSView addSubview:]或删除-[NSView removeFromSuperView]视图控制器的视图作为主机视图的子视图.根据您构建代码的方式,您还可以使用-[NSView replaceSubview:with:]另一个子视图替换子视图.

Apple的View Controller示例代码具有使用视图控制器进行视图切换的功能.

  • @ fabian789您可以使用`contentView`作为主机视图.但是,如果您决定在窗口中放置其他控件而不是子视图,那么将主机视图作为`contentView`的子视图会使事情变得更容易,因为您不必更改交换子视图的代码. (3认同)