Я ограничил меню NSCollectionView в построителе интерфейса. Но когда я нажимаю CTRL + (щелкните правой кнопкой мыши), меню не отображается.NSCollectionView не отображает контекстное меню?
Я попытался добавить некоторый метод в подкласс NSCollectionView. Ни один из них не вызывается:
+ (NSMenu*)defaultMenu
- (NSMenu *)menuForEvent:(NSEvent *)theEvent
- (void)rightMouseDown:(NSEvent *)theEvent
- (void)sendEvent:(NSEvent *)theEvent
Единственный метод, который вызывается является:
- (NSView *)hitTest:(NSPoint)aPoint
Это означает, что NSCollectionView получает события мыши.
Я также попытался добавить те же методы в подкласс NSCollectionViewItem, и результат будет таким же. Вызывается только hitTest:
.
Вызывается метод mouseDown, но меню не отображается. Но я не получаю ваш ответ: вы переопределяете метод суперкласса с любым пользовательским кодом, так что в чем разница? – aneuryzm
Я думал, что ваша проблема в том, что мышь не будет вызвана. При вызове вызова это должно быть легко отображать контекстное меню. Я обновляю свой ответ через минуту –
Я вижу, хорошо спасибо. Однако это обходной путь, не так ли? Он должен всплывать автоматически. – aneuryzm