gpt4 book ai didi

cocoa - 仅在一个屏幕上绘制 NSWindow

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

假设我们有两个屏幕场景和一个 NSWindow,位于屏幕 1 的边缘。该窗口的一部分也显示在屏幕 2 上。

我想要实现的目标是仅在屏幕 1 上绘制窗口,而不在屏幕 2 上显示其余部分。

原因是这是某种特殊行为的迷你窗口,而不是通常的窗口。

是否可以指定一个特定的 NSScreen 来仅在其上绘制窗口?

最佳答案

两种截然不同的方法:

使用 Mavericks:您所寻找的内容听起来像是 Mavericks 的“屏幕有单独的空间”模式的行为。在此模式下,除非在拖动操作期间,否则永远不会在两个屏幕上绘制窗口,在其他时间,窗口会在一个屏幕上绘制,并剪掉突出到相邻屏幕上的任何区域。因此,如果您可以将使用限制为 10.9,这可能会为您节省一些工作。

无边界窗口:您可以创建一个无边界非不透明的NSWindow,只需设置适当的标志即可。这就是应用程序创建非方形窗口的方式,窗口的可见区域现在完全取决于您。现在,只需使用标准剪切支持将绘图剪切到一个屏幕上的区域即可。你不会有标准的标题栏或控件,除非你自己模拟它们,所以你必须自己实现拖动等。你说你有“某种特殊行为的迷你窗口,而不是通常的窗口”所以这可能不是问题。

关于cocoa - 仅在一个屏幕上绘制 NSWindow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22048446/

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