Control-click 不会更改 IKImageBrowserView 中的选择,右键单击或双指单击会

Control-click does not change selection in IKImageBrowserView, right-click or two-finger-click does

我向 IKImageBrowserView 添加了上下文菜单。

当用户右键单击(鼠标)或双指单击(触控板)IKImageBrowserView 中的图像时,选择更改为该图像,并出现上下文菜单。

当用户按住控制键单击(鼠标或触控板)时,选择不会改变,并且会出现上下文菜单。

由于上下文菜单是相对于所选图像的,我更喜欢在调用上下文菜单时更改选择。

如果你创建一个 IKImageBrowserView 的子类并覆盖 menuForEvent:,你可以完成这个:

- (NSMenu *)menuForEvent:(NSEvent *)event {
    NSUInteger idx = [self indexOfItemAtPoint:[self convertPoint:[event locationInWindow] fromView:nil]];

    if (idx == NSNotFound) {return nil;}

    if (![self.selectionIndexes containsIndex:idx]) {
        [self setSelectionIndexes:[NSIndexSet indexSetWithIndex:idx] byExtendingSelection:NO];

    }

    return self.menu;
}