2012-04-17 2 views
3

У меня есть приложение, которое будет загружать несколько окон в зависимости от того, какая кнопка нажата. Все, кроме одного из них, открыты на главном экране (экран, на котором открыто главное окно). Один из них (окно предпочтений) открывается на первом экране (экран с панелью меню). Я не могу понять, как это делается, есть ли способ изменить экран, который открывается NSWindow?Как изменить NSScreen NSWindow появляется на

ответ

4

Я не мог получить ответ от toohtik на работу. То, что я закончил, было подклассификация NSWindow, а затем переопределение constrainFrameRect: toScreen :. Это автоматически откроет новое окно на «главном экране» приложения.

- (NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen *)screen 
{ 
    AppDelegate *delegate = [[NSApplication sharedApplication] delegate]; 
    return [super constrainFrameRect:frameRect toScreen:delegate.window.screen]; 
} 
+0

Полностью сработало для меня! Хорошее решение! –

1

Я не знаю, почему у вас такое поведение, но вы можете изменить его с помощью метода initWithFrame, который принимает аргумент NSScreen.

Смежные вопросы