2012-01-26 16 views
1

フルスクリーンモードを切り替えたときに、ウィンドウに含まれる特定のビューがメインのコンテンツビューになるようにしようとしています。ユーザーがフルスクリーンモードを終了したときに表示されます。OSX Lion:フルスクリーンとウィンドウモードで異なるビュー

私は、次のを作ってみた

- (void)windowWillEnterFullScreen:(NSNotification *)notification 
{ 
    NSLog(@"entering fullscreen"); 
    oldView = [[[NSApplication sharedApplication] mainWindow] contentView]; 
    [oldView retain]; 
    [[[NSApplication sharedApplication] mainWindow] setContentView:myViewOfInterest]; 
} 

-(void)windowWillExitFullScreen:(NSNotification *)notification 
{ 
    [[[NSApplication sharedApplication] mainWindow] setContentView:oldView]; 
} 

最初のビットのためしかし、この唯一の作品:ウィンドウを最大化し、目的のビューは一つだけとなりますが、フルスクリーンモードが残っているとき、フルスクリーンモードで表示されている唯一のビューは、もはやウィンドウに表示されません。

私はObjective-CとCocoaをとても使い慣れているので、誰かが私に間違っていることを教えてもらえますか?

ありがとうございます!

答えて

1

ビューは、一度に1つの他のビューにのみサブビューすることができます。 myViewOfInterestは、ウィンドウのcontentViewにすると、(ビュー階層の)サブビューとしてoldViewとして削除されます。後でoldViewを復元するときは、元の場所に戻ってmyViewOfInterestを追加する必要があります(どのようなサイズだったかなど)。

関連する問題