我目前有一个允许全屏的NSWindow。该窗口有一个视频播放器和一个播放列表。当用户全屏时,我想摆脱播放列表并只显示视频。
我首先想到的是在检测到全屏入口点时换出窗口。我发现我可以通过以下方式检测到这一点:
- (void)windowWillEnterFullScreen:(NSNotification *)notification
{
NSLog(@"My window is going fullscreen");
}
但此时我一直无法弄清楚如何换出一个新的窗口。我尚未尝试的一个选项是修改视频的所有调整大小标记并隐藏其他组件,但我不确定这是否是最佳解决方案。
有没有人对更好的方法有任何建议?
答案 0 :(得分:2)
为什么要换窗户?只需操纵窗口中的视图。
当您使用-removeFromSuperview
全屏时,只需从视图中删除播放列表,然后调整视频视图的大小以使其填满您的窗口。
确保在某处保留对视图的引用,否则视图将被取消分配。然后,当窗口退出全屏模式时,您可以使用该引用添加视图。