Ich habe das Menü an die NSCollectionView im Interface Builder gebunden. Aber wenn ich STRG + klicke (Rechtsklick) darauf wird das Menü nicht angezeigt.NSCollectionView öffnet Kontextmenü nicht?
Ich habe versucht, eine Methode zur NSCollectionView-Unterklasse hinzuzufügen. Keiner von ihnen wird aufgerufen:
+ (NSMenu*)defaultMenu
- (NSMenu *)menuForEvent:(NSEvent *)theEvent
- (void)rightMouseDown:(NSEvent *)theEvent
- (void)sendEvent:(NSEvent *)theEvent
Die einzige Methode, die aufgerufen wird, ist:
- (NSView *)hitTest:(NSPoint)aPoint
was bedeutet, dass der NSCollectionView das Maus-Ereignis empfängt.
Ich habe auch versucht, die gleichen Methoden zu der Unterklasse von NSCollectionViewItem hinzuzufügen, und das Ergebnis ist das gleiche. Nur hitTest:
wird aufgerufen.
Die mouseDown-Methode wird aufgerufen, aber das Menü wird nicht angezeigt. Aber ich bekomme Ihre Antwort nicht: Sie haben die Superklassenmethode mit einem beliebigen benutzerdefinierten Code überschrieben. Worin besteht der Unterschied? – aneuryzm
Ich dachte, dein Problem ist, dass der Mousedown nicht aufgerufen wird. Wenn es aufgerufen wird, sollte es einfach sein, das Kontextmenü anzuzeigen. Ich aktualisiere meine Antwort in einer Minute –
Ich sehe, ok danke. Dies ist jedoch ein Workaround, oder? Es sollte automatisch eingeblendet werden. – aneuryzm