如何更改窗口中哪个视图处于活动状态?

时间:2009-11-29 09:54:36

标签: cocoa interface-builder nsview

我现在正在处理的程序有点麻烦,因为它从中央菜单开始,然后一旦用户从中选择一个选项,它就会在新窗口中打开它们的选择,当我有一个完美的窗口,我可以(至少显然)重新利用这种效果。我一直在阅读有关视图的the manual,我理解它在视图层次结构等方面的讨论,但交换哪个视图处于活动状态的方法令我感到困惑。如何让它“扫除”初始菜单并将其替换为包含用户所选内容的另一个视图,我需要做什么?

2 个答案:

答案 0 :(得分:1)

通过使用NSTabView来保存我正在寻找的每个视图,找到了一个简单的解决方案。

答案 1 :(得分:0)

听起来您根本不想更改视图,而是更改已加载到视图中的模型。

最简单的方法可能是为窗口的控制器提供一个属性,通过该属性,视图可以访问拥有模型一部分的另一个控制器(菜单中每个项目都有一个这样的控制器)。然后,您只需切换该控制器。

在该属性的setter中,您可能需要将reloadData等消息发送到某些视图,具体取决于它们的视图类型。使用Bindings或KVO观察变化​​的视图不需要这样。