在辅助屏幕上显示 NSWindow

2024-01-01

我想显示一个NSWindow在辅助监视器上全屏显示情节提要中创建的。以下代码导致窗口显示在主屏幕/主屏幕上。 Y 原点没问题,但 X 原点是 0,它应该是 -1680。下面的代码在优胜美地之前有效。

NSScreen *screen = [[NSScreen screens] objectAtIndex:2];
NSRect mainDisplayRect = [screen frame];
[PresenterWindow setFrame: mainDisplayRect display:YES animate:YES];
[PresenterWindow makeKeyAndOrderFront:sender];
[PresenterWindow setLevel: CGShieldingWindowLevel()];

我还尝试了以下方法,得到了相同的结果:

[[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, [screen frame].size.width, [screen frame].size.height) 
                            styleMask:NSBorderlessWindowMask
                              backing:NSBackingStoreBuffered 
                                defer:NO
                               screen:screen];

请告诉我如何解决这个问题。

我尝试过其他一些问题的解决方案:

  • Cocoa 在第二个屏幕上打开全屏窗口,保持应用程序在第一个屏幕上可见 https://stackoverflow.com/questions/15414099/cocoa-open-a-fullscreen-window-on-the-second-screen-maintaining-the-app-visible- 不起作用 - 结果相同。
  • 使用 Cocoa 在辅助显示器上全屏显示 os x 窗口 https://stackoverflow.com/questions/401240/display-os-x-window-full-screen-on-secondary-monitor-using-cocoa- 不 - 都不与enterFullScreenMode:withOptions:NSView 的方法。

我有一些新的观察:

如果我在故事板中激活“启动时启动”NSWindow该窗口在我的辅助显示器上全屏显示。如果我然后做一个orderOut并运行上面的代码,窗口将以正确的大小查看,但在我的主/主屏幕上。窗口未激活为“关闭时释放”。因此,当我停用“启动时启动”时,会再次在主屏幕/主屏幕中查看窗口,并具有辅助屏幕的大小。


几天后我开始工作:

故事板中的 NSWindow 标记为“启动时启动”

在 applcationDidFinishLaunching 中我写了以下内容:

[PresenterWindow setLevel: NSNormalWindowLevel];
[PresenterWindow orderOut:self];

要打开全屏,我使用了这个:

NSScreen *screen = [[NSScreen screens] objectAtIndex:1];
NSRect mainDisplayRect = [screen frame];
[PresenterWindow setFrame: mainDisplayRect display:YES animate:YES];
[PresenterWindow setLevel: CGShieldingWindowLevel()];
[PresenterWindow makeKeyAndOrderFront:screen];

要关闭全屏并能够再次正确打开全屏:

[PresenterWindow setLevel: NSNormalWindowLevel];
[PresenterWindow orderOut:(sender)];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在辅助屏幕上显示 NSWindow 的相关文章

随机推荐

  • 为 Node“导入”ES6

    我想在 Node js 中使用来自 ES6 的 import 而不是来自 common js 的 require 出于某种原因 我认为导入在 Node js 中默认可以工作 但看起来好像没有 我需要安装一些 npm 软件包才能正常工作吗 N
  • IOS App提交失败

    我已经使用 Xcode 7 创建了我的 ipa 并在 ios 9 上运行 它工作正常 但是当我使用应用程序加载器上传它时 它给了我一个错误 Could not make parent directory for Users Myname i
  • 如何使用 NSAttributedString 在 Swift 中添加图像作为文本附件?

    我正在尝试使用我作为按钮放入的图像为 iOS 构建一个自定义键盘 当我按下按钮时 链接到该按钮的图像将被放入属性字符串中 该字符串将加载到自定义键盘视图内的 UiTextView 中 那是有效的 问题是 当我将新图像附加到属性字符串时 字符
  • Excel 2010、VBA 和 ListObjects 小计未随表更改而更新

    因此 具有以下结构 从 A1 开始 显示片段 gt 运行 table border color BBB border width 0px 0px 1px 1px border style dotted body font 12px Aria
  • do 块内的 Haskell where 子句语法

    我正在尝试重构mapM a 内的函数调用doHaskell 中的块 我想将 lambda 提取到 本地 命名函数以使代码更具可读性 我的代码最初看起来像这样 do mapM x gt x 1 aList return aValue 我想把它
  • FFMPEG H264 压缩预设会影响视频质量吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我绝对不是 FFMPEG 专家 但根据这个文件 http ffmpeg org trac ffmpeg wiki x264EncodingGuide
  • 遮罩图像,从多个渐变创建矩形

    我有一个径向渐变用作mask image将图像 淡入 background color behind图片 mask image radial gradient ellipse at center rgba 255 255 255 1 1 r
  • 如何使用 javascript 创建 xhtml 元素

    如何使用 javascript 动态创建 html 元素 我想在表格单元格内添加一个复选框 所以我希望代码看起来像这样 td td
  • 将 GraphQL 数据拉入 gatsby-browser.js (或更好的解决方案,请)

    我正在尝试运行一个GraphQL里面查询replaceRouterComponent从内部gatsby browser js 盖茨比浏览器API https www gatsbyjs org docs browser apis 然而 我可以
  • 什么是特殊目的寄存器? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 什么是特殊用途寄存器 特殊用途寄存器的名称是什么 以及每个寄存器的一些描述 顾名思义 特殊用途寄存器是专为任务而设计的寄存器 例如 c
  • Dart 支持参数化单元测试吗?

    我想运行一个 Dart 测试 该测试使用一组输入和预期输出重复进行 类似于 JUnit 的情况 我编写了以下测试来实现类似的行为 但问题是 如果所有测试输出计算不正确 则测试只会失败一次 import package test test d
  • Flask 应用程序使用 opencv 运行速度非常慢

    我有一个烧瓶应用程序 它从相机读取帧并将其传输到网站 相机 py from threading import Thread from copy import deepcopy import queue import cv2 class Ca
  • 为什么我不能用 std::unordered_map 替换 std::map

    这个问题可能有点粗略 因为我家里没有可用的代码 但我知道这件事否则会困扰我整个周末 当我尝试将一些代码更新到 C 11 时 我开始替换一些代码std map with std unordered map 该代码仅使用std map find
  • CGRectContainsRect 不工作

    我用这个方法有问题 我有两个显然彼此包含的矩形 我什至手动绘制了它们的坐标以确保 当我使用 CGRectContainsRect 比较这两个矩形时 它返回 false 对于我的一生 我已经尝试了一切 搜索了网络 但我找不到这个问题的答案 有
  • 使用 jQuery 从 HTML 文本查询脚本元素

    我正在通过以下方式加载页面 ajax 并插入parts将结果放入页面的相应部分 ajax url whole page html success function data status xhr result xhr responseTex
  • Jenkins:将用户定义的变量传递给 Email-Ext 插件

    我使用 Email Ext 插件在声明性管道的构建后阶段的构建结束时发送结果电子邮件 在电子邮件正文中 我尝试插入一些环境变量和一些用户定义的环境变量 内置变量显示正常 但是我定义的任何用户定义变量在电子邮件正文中都是空的 或者在 Atta
  • Visual Studio 2017 中的 React 项目

    我想在 Visual Studio 2017 中与我的 NET 应用程序一起开发 React 应用程序 在同一解决方案中 我正在使用 TypeScript 所以我想要一个可以自定义构建的项目类型 我想对项目进行 webpack 等 所以标准
  • Swing 组件不显示泰文字符

    我有一个简单的摆动应用程序 当我将泰语文本设置为 JLabel 或其他组件时 它们显示像问号的字符而不是泰语文本 有什么办法可以在 Swing 应用程序中支持泰语吗 没有特殊的功能或配置要做 确保您的字体支持泰语字符 当我遇到同样的问题时
  • 如何在 BaseColumns 中使用 _COUNT

    我一直在读BaseColumns https developer android com reference android provider BaseColumns html https developer android com ref
  • 在辅助屏幕上显示 NSWindow

    我想显示一个NSWindow在辅助监视器上全屏显示情节提要中创建的 以下代码导致窗口显示在主屏幕 主屏幕上 Y 原点没问题 但 X 原点是 0 它应该是 1680 下面的代码在优胜美地之前有效 NSScreen screen NSScree