2012-03-15 1 views
0

Я создаю приложение для какао, и я загружаю окно предпочтений с помощью NSWindowController.Возможно ли принудительное управление подклассом NSWindowController?

Когда пользователь выбрал кнопку PREFS и окно настройки открывается

Я хочу, чтобы приложение, чтобы заставить пользователь закончить то, что они делают с недавно открытым контроллером окна, прежде чем вернуться в приложение в фоновом режиме.

Есть ли способ заблокировать то, что происходит в фоновом режиме, и заставить пользователя завершить там взаимодействие с передним планом?

Thakns

+0

То, что вы хотите, называется модальным окном, которого следует избегать, если это возможно. почему ты хочешь сделать это? Там может быть лучший способ добиться того, чего вы хотите. –

+0

Поскольку в настоящее время у меня есть кнопка настроек, которая делает окно HUD наложением моего приложения, и пользователь может изменить размер шрифта tableview в фоновом режиме. Проблема в том, что пользователь по-прежнему имеет возможность редактировать текстовое поле в представлении таблицы, в то время как они могут изменять размер шрифта в окне prefs. Это вызывает ошибку в строке NSTableView. –

+0

Итак, я пытаюсь эффективно отключить приложение, когда отображается окно HUD. –

ответ

1

Возможно, это работает? Создайте подкласс окна HUD и реализовать

- (BOOL)resignFirstResponder { 
    if (userMayLeave) return YES; 
    return NO; 
} 
0

Вы можете использовать следующий метод для достижения этой цели и отображать окно как модальный:

[[NSApplication sharedApplication] runModalForWindow:aWindow]; 

Тогда вам нужно использовать один из следующих методов в вашем модальном окне, чтобы отклонить его:

[[NSApplication sharedApplication] stopModal]; 
[[NSApplication sharedApplication] abortModal]; 
[[NSApplication sharedApplication] stopModalWithCode:anInteger];