这是我的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.x
NSScreen
0
1440