2012-04-30 17 views
0

私はMacの開発に新しくなりました(iOSの経験は豊富ですが)が、NSWindowのNSViewControllerを切り替えることを試みています。これは本当に簡単です:ボタンを押すと、2番目のビューを表示し、最初のビューを非表示にします。私のコードは次のとおりです。NSWindowのビュー間の切り替え

- (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が正しくロードされていることを確認しました。ここで何が問題なの?

答えて

3

より簡単なアプローチは、両方のビューをコンテンツビューに読み込み、アルファ値のみを調整することです。

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

私は上記の移行フェードを作るためにアニメーターを使用しての自由を取ったが、あなたがインスタントスイッチを好む場合も、それなしで行くことができます。

+1

「アニメーター」については知りませんでした。ありがとうございます! – Cristian

関連する問題