首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSWindowController和NSViewController

NSWindowController和NSViewController
EN

Stack Overflow用户
提问于 2011-02-20 18:14:13
回答 2查看 14.3K关注 0票数 7

这可能是一个很简单的问题,但我想不通。

我想创建某种向导:一个NSWindow显示为来自另一个NSWindow的工作表,并且应该依次显示三个不同的NSView

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-20 19:04:01

简而言之,您的窗口控制器将实例化这三个视图控制器,拥有一个宿主视图,并将视图控制器的视图作为宿主视图的子视图添加或移除( -[NSView addSubview:] or -[NSView removeFromSuperView] )。根据您的代码结构,您还可以使用-[NSView replaceSubview:with:]将一个子视图替换为另一个子视图。

苹果View Controller sample code的特点是使用视图控制器进行视图切换。

票数 12
EN

Stack Overflow用户

发布于 2014-08-14 03:50:29

@Bavarious asnwer很好,像我这样的人总是需要一个很好的代码片段:

代码语言:javascript
复制
appDelegate = (AppDelegate*)[[NSApplication sharedApplication] delegate];
self.masterViewController = [[MasterViewController alloc] initWithNibName:@"MasterViewController" bundle:nil];
[appDelegate.window.contentView replaceSubview:self.view with:self.masterViewController.view];

我创建appDelegate对象是因为它是从NSViewController调用的,否则您可以从self获得视图。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5056374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档