objective-c - 如何使一个 View 中的操作自行关闭并打开另一个 View ?

标签 objective-c cocoa macos nsview osx-leopard

刚接触 obj-c 和 cocoa,正在开发一个简单的游戏作为我的第一个 (mac os x) 应用程序。我有一个菜单 View 和一个游戏 View :

MenuView.h/m
MenuViewController.h/m
GameView.h/m
GameViewController.h/m

我希望默认显示菜单,并且当单击播放按钮(位于 MenuView 中)时,我希望菜单消失并显示游戏。我了解行动和出路,但我不知道从哪里开始让观点自行交换。有什么帮助吗?看来我需要以某种方式让我的 MenuViewController 与我的 MainController 对话?

最佳答案

彼得·霍西,

如果您将 MenuViewController 视为一种“主” View Controller ,则单击播放按钮时,您可以初始化 GameViewController 的实例:

- (IBAction)gameButtonClicked {

     GameViewController *game = [[GameViewController alloc] init];

     // we put the game view as the MenuViewController's view
     [self setView:game.view];
     [game release];

}

当然,你需要导入“GameViewController.h”才能访问它。

关于objective-c - 如何使一个 View 中的操作自行关闭并打开另一个 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4916211/

相关文章:

ios - 是否有 (self.frame.origin.y + self.frame.size.height) 的快捷方式?

objective-c - 无法更改 NSButton 字体

java - mac 中的 processWindowEvent

iphone - UILocalNotification 问题

ios - 在 applicationWillResignActive 或 applicationDidEnterBackground 上暂停套接字连接?

iphone - 主线程上的 NSOperation 和 NSNotificationCenter

cocoa - NSView 显示代码在 Yosemite 中有效,但在 macOS Sierra 中无效

swift - 如何安全地测试一个方法是否可以通过 NSInitation 调用

java - 在 MacOSX 上抓取 openFileEvent(无法获取文件名)

c# - 搜索 .NET Core 或标准 NuGet 包