У меня в окне есть кнопка, для которой в конструкторе интерфейсов задан эквивалент ключа ввода, но после переключения представления содержимого с использования IKImageBrowserView на NSCollectionView ключ keyEquivalent игнорируется.
Из того, что написано в документах:
http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/EventOverview/EventArchitecture/EventArchitecture.html#//apple_ref/doc/uid/10000060i-CH3-SW10
События keyEquivalent обрабатываются как «специальные» и должны быть довольно простыми.
Я делю на подклассы NSCollectionViewItem и представление элемента, но ни один из этих подклассов не получает executeKeyEquivalent: theEvent, когда я переопределяю этот метод.
Рядом с кнопкой по умолчанию есть кнопка отмены, которая сопоставлена с кнопкой esacpe. Отмена продолжает работать, но кнопка по умолчанию не работает.
Как я могу узнать, где обрабатывается событие ввода?
Edit:
На самом деле я обнаружил ту же проблему в примере приложения, которую использовал для изучения NSCollectionView. Я добавил кнопку по умолчанию в нижней части окна и обнаружил, что return не вызывает кнопку, а ввод (fn + return) вызывает кнопку.
Образец приложения IconCollection от Apple
Есть какие-нибудь идеи по поводу кражи события возврата в этом примере?
Edit:
Я разместил пример проекта здесь: https://github.com/watkyn/NSCollectionViewIssue. Почему не работает кнопка по умолчанию?