2012-04-30 101 views
0

我對Mac開發真的很陌生(雖然我有很多iOS體驗),我試圖在NSWindow中的NSViewControllers之間切換。這很簡單:按下按鈕時,顯示第二個視圖並隱藏第一個視圖。這裏是我的代碼:在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

更簡單的方法是將兩個視圖加載到您的內容視圖中,並僅調整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]; 
} 

我使用了動畫師,使上述過渡褪色的自由,但你也可以去,沒有它,如果你喜歡的瞬間切換。

+1

我不知道'animator',謝謝! – Cristian