0

我对 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。这里有什么问题?

4

1 回答 1

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];
}

我冒昧地使用动画师使过渡在上方淡出,但如果您更喜欢即时切换,也可以不使用它。

于 2012-04-30T10:00:57.103 回答