Приложение, основанное на какао, ничего не делает в Command W - PullRequest
1 голос
/ 27 января 2011

Я бы хотел закрыть Команда ⌘ - W в соответствии со стандартом. В окне есть кнопка закрытия, и она включена, поэтому я не уверен, что есть сочетание клавиш закрытия команды.

Просмотр содержимого - это веб-просмотр, если это имеет какое-либо значение.

Я реализовал windowWillClose и windowShouldClose, но ни один из них не ударил во время отладки при нажатии Command ⌘ - W .

1 Ответ

2 голосов
/ 27 января 2011

Мигает ли меню «Файл» вверху экрана при нажатии Команда ⌘ - W ?Это может указывать на то, съедает ли что-то ключевое событие, прежде чем оно перейдет к нормальной цепочке респондента.Например, я полагаю, что некоторые javascript в вашем веб-представлении могут съесть событие.

Обычно команда - W отправляется первому ответчику (обычно это элемент управления, где фокус клавиатуры), а затем по цепочке респондента.Этот документ может быть полезен: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/EventOverview/EventArchitecture/EventArchitecture.html%23//apple_ref/doc/uid/10000060i-CH3-SW10

Некоторые вещи, которые можно попробовать:

Создайте текстовое поле вне веб-просмотра и посмотрите, если Команда ⌘ - W работает, когда это текстовое поле имеет фокус.Это может повлиять на веб-просмотр.

Включите NSObjCMessageLoggingEnabled.Это дает много выходных данных, но может точно показать, какие методы вызываются после нажатия Command ⌘ - W .

...