gpt4 book ai didi

macos - 奇怪的 NSScreen 坐标

转载 作者:行者123 更新时间:2023-12-03 16:50:06 27 4
gpt4 key购买 nike

这是我的 NSWindow 的构造函数子类名为 FullScreenWindow :

- (id)initWithScreen:(NSScreen *)s {
NSRect contentRect = [s frame];
self = [super initWithContentRect:contentRect
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO
screen:s];
if (self) {
[self setCollectionBehavior:NSWindowCollectionBehaviorStationary|
NSWindowCollectionBehaviorCanJoinAllSpaces|
NSWindowCollectionBehaviorIgnoresCycle];
[self setReleasedWhenClosed:YES];
[self setBackgroundColor:[NSColor greenColor]];
[self setAlphaValue:1.0];
[self setOpaque:NO];
[self setLevel:NSMainMenuWindowLevel-1];
}
return self;

}

我想添加这样一个NSWindow[NSScreen screens] 中的每个显示器但是当我连接第二个显示器时,如果我设置origin.x,窗口只会以正确的方式显示。的contentRect-1440对于第一个显示器(和 0 对于第二个显示器)。当我得到origin.xNSScreen 的帧的值它返回的实例 0对于第一个显示和 1440对于第二个。为什么这些坐标会发生偏移?

最佳答案

[NSScreen 屏幕] 之一将以 (0, 0) 作为原点。
现在想象 2 个轴:Y 从 (0, 0) 向上,X 向右。
所有其他屏幕都将具有此坐标系的坐标,并且 screen.frame.origin 将代表左下角。

我在文档中找不到这个,所以我发现这个正在尝试显示排列。
我的这张图片有两个显示器:主显示器 1366x768,辅助显示器 1680x1050,与顶部对齐。
我也尝试了不同的安排,将 #1 移动到 #0 周围,我的假设总是正确的。

关于macos - 奇怪的 NSScreen 坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14579880/

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