【问题标题】:Why doesn't this Mac full screen code work?为什么这个 Mac 全屏代码不起作用?
【发布时间】:2014-04-23 23:30:33
【问题描述】:

这对我不起作用。 堆栈流需要更多细节。 细节是,这是代码,它不起作用。 我正在尝试找出原因。

- (IBAction)ButtonPush:(id)sender {


NSWindowCollectionBehavior behavior = [self.window collectionBehavior];
behavior |= NSWindowCollectionBehaviorFullScreenPrimary;
[self.window setCollectionBehavior:behavior];

}

【问题讨论】:

  • “没用”是什么意思?你收到错误信息了吗?恶魔是从你的鼻子里飞出来的吗?
  • @Wooble 什么都不做。

标签: macos fullscreen


【解决方案1】:

我还没有尝试过,但是从阅读 Apple 文档 5 分钟后,我认为:

您提供的代码只需要执行一次,可能是在将视图添加到窗口时:

- (void)viewDidMoveToWindow {
    if ([self window]) {
        NSWindowCollectionBehavior behavior = [[self window] collectionBehavior];
        behavior |= NSWindowCollectionBehaviorFullScreenPrimary;
        [[self window] setCollectionBehavior:behavior];
    }
}

在设置了 windows 行为之后,您应该可以使用 [NSWindow toggleFullscreen] 切换全屏:

- (IBAction)toggleFullscreen:(id)sender {
    [[self window] toggleFullscreen];
}

【讨论】:

  • 试图让它与按钮操作一起工作。那不可能吗?此按钮事件在 appDelegate 文件中。是不是找错地方了?
  • 我的答案包括一个用于此目的的操作选择器。
  • 得到按钮事件但不理解“当视图添加到窗口时”。那是一个地方,时间,两者,还是两者都不是?如果它是一个我不知道它在哪里的地方。
  • 如图所示,您将代码放在被覆盖的viewDidMoveToWindow 方法中。
猜你喜欢
  • 2018-11-05
  • 2012-02-22
  • 2023-03-03
  • 2017-10-02
  • 2016-07-10
  • 2010-12-14
  • 2017-04-09
  • 2013-01-30
  • 2014-05-23
相关资源
最近更新 更多