У меня есть собственный подкласс NSView
, который используется в классе NSCollectionView
. Представление показывает NSPopover
при двойном щелчке с использованием кода ниже:
- (void)mouseDown:(NSEvent *)theEvent {
[super mouseDown:theEvent];
if ([theEvent clickCount] == 2) {
[popover showRelativeToRect:[self bounds] ofView:self preferredEdge:NSMaxYEdge];
}
}
popover
— это IBOutlet
(да, он подключен).
Это отлично работает, когда представление обычно размещается в окне, но когда представление находится в представлении коллекции, оно не отображается.
[popover showRelativeToRect:[self bounds] ofView:self preferredEdge:NSMaxYEdge]
действительно вызывается (я установил точку останова), и никаких ошибок не регистрируется.
Любые идеи приветствуются.