Objective c OSX Lion:全屏和窗口模式下的不同视图
我正试图使窗口中包含的某个视图在切换全屏模式时成为主内容视图,并在用户离开全屏模式时返回到仅获取窗口的一部分 我得出以下结论:Objective c OSX Lion:全屏和窗口模式下的不同视图,objective-c,macos,cocoa,fullscreen,Objective C,Macos,Cocoa,Fullscreen,我正试图使窗口中包含的某个视图在切换全屏模式时成为主内容视图,并在用户离开全屏模式时返回到仅获取窗口的一部分 我得出以下结论: - (void)windowWillEnterFullScreen:(NSNotification *)notification { NSLog(@"entering fullscreen"); oldView = [[[NSApplication sharedApplication] mainWindow] contentView]; [old
- (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非常陌生,所以谁能告诉我我做错了什么
提前谢谢 一个视图一次只能是另一个视图的子视图。您的
myViewOfInterest
将作为oldView
的子视图(视图层次结构)删除,并将其设置为窗口的contentView。以后恢复oldView
时,需要将myViewOfInterest
添加回原处(以及大小等)。一个视图一次只能是另一个视图的子视图。您的myViewOfInterest
将作为oldView
的子视图(视图层次结构)删除,并将其设置为窗口的contentView。以后恢复oldView
时,需要将myViewOfInterest
添加回原处(以及大小等)