我是Mac开发的新手(虽然我有很多iOS经验)而且我正在尝试在NSWindow中切换NSViewControllers。它非常简单:按下按钮时,显示第二个视图并隐藏第一个视图。这是我的代码:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
firstView = [[FirstView alloc] initWithNibName:@"FirstView" bundle:nil];
[_window setContentView:menu.view];
}
- (IBAction)openSecondView:(id)sender {
secondView = [[SecondView alloc] initWithNibName:@"SecondView" bundle:nil];
[_window setContentView:game.view];
}
我确保调用该方法,并正确加载secondView。这有什么问题?
答案 0 :(得分:3)
更简单的方法是将两个视图加载到内容视图中,并仅调整Alpha值。
- (void) switchToFirstView: (id) sender {
[[_secondView animator] setAlphaValue: 0.0f];
[[_firstView animator] setAlphaValue: 1.0f];
}
- (void) switchToSecondView: (id) sender {
[[_secondView animator] setAlphaValue: 1.0f];
[[_firstView animator] setAlphaValue: 0.0f];
}
我冒昧地使用动画师使转换渐渐消失,但如果您更喜欢即时切换,也可以不使用它。