私のウィンドウには、Enterと同等のキーを持つように設定されたボタンがウィンドウにありますが、コンテンツビューを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とアイテムのビューをサブクラス化していますが、そのメソッドをオーバーライドすると、これらのサブクラスのどちらもperformKeyEquivalent:theEventを取得しません。
デフォルトボタンのすぐ隣にキャンセルボタンがあり、esacpeキーにマップされています。キャンセルは引き続き機能しますが、デフォルトのボタンは機能しません。
エンターキーイベントがどこで処理されているかをどのように知ることができますか?
編集:
私は実際に、NSCollectionViewについて学習するために使用したサンプルアプリで同じ問題を見つけました。ウィンドウの下部にデフォルトのボタンを追加しましたが、returnはボタンをトリガーしませんでしたが、Enter(fn + return)はボタンをトリガーしました。
この例でリターンキーイベントを盗むものについて何かアイデアはありますか?
編集:
ここにサンプルプロジェクトを投稿しました:https ://github.com/watkyn/NSCollectionViewIssue 。デフォルトのボタンが機能しないのはなぜですか?