4

我有一个应用程序,它将根据按下的按钮加载几个窗口。除了其中一个之外,所有这些都在 mainScreen(打开主窗口的屏幕)上打开。其中一个(首选项窗口)在第一个屏幕(带有菜单栏的屏幕)上打开。我无法理解它这样做的方式,有没有办法改变 NSWindow 打开的屏幕?

4

2 回答 2

5

我无法得到 toohtik 的工作答案。我最终做的是继承 NSWindow,然后覆盖 constrainFrameRect:toScreen:。这将自动在应用程序的“主屏幕”上打开新窗口。

- (NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen *)screen
{
    AppDelegate *delegate = [[NSApplication sharedApplication] delegate];
    return [super constrainFrameRect:frameRect toScreen:delegate.window.screen];
}
于 2012-05-03T17:20:03.120 回答
1

我不知道你为什么会有这种行为,但你可以通过采用 NSScreen 参数的 initWithFrame 方法来改变它。

于 2012-04-20T20:25:41.840 回答