gpt4 book ai didi

objective-c - OSX 狮子 : different views in fullscreen and in windowed mode

转载 作者:行者123 更新时间:2023-12-03 17:15:11 25 4
gpt4 key购买 nike

我试图做到这一点,以便在切换全屏模式时,窗口中包含的某个 View 成为主要内容 View ,并在用户离开全屏模式时返回仅占据窗口的一部分。

我想出了以下内容:

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

但这仅适用于第一位:窗口最大化并且感兴趣的 View 成为唯一的 View ,但是当离开全屏模式时,全屏模式下唯一可见的 View 不再在窗口中。

我对 Objective-C 和 Cocoa 很陌生,所以有人能告诉我我做错了什么吗?

提前致谢!

最佳答案

一个 View 一次只能是另一个 View 的 subview 。当您将 myViewOfInterest 设置为窗口的 contentView 时,您的 myViewOfInterest 将作为 oldView 的 subview ( View 层次结构)被删除。当您稍后恢复 oldView 时,您需要将 myViewOfInterest 添加回原来的位置(以及它的大小等)。

关于objective-c - OSX 狮子 : different views in fullscreen and in windowed mode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9019178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com