Control-click 不会更改 IKImageBrowserView 中的选择,右键单击或双指单击会
Control-click does not change selection in IKImageBrowserView, right-click or two-finger-click does
我向 IKImageBrowserView
添加了上下文菜单。
当用户右键单击(鼠标)或双指单击(触控板)IKImageBrowserView
中的图像时,选择更改为该图像,并出现上下文菜单。
当用户按住控制键单击(鼠标或触控板)时,选择不会改变,并且会出现上下文菜单。
由于上下文菜单是相对于所选图像的,我更喜欢在调用上下文菜单时更改选择。
- 我能否在按住 Control 键单击(鼠标和触控板)时也进行
IKImageBrowserView
更改选择?
- 我可以不将上下文菜单附加到
IKImageBrowserView
,而是附加到 IKImageBrowserView
的单个 element/image 吗?
如果你创建一个 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;
}
我向 IKImageBrowserView
添加了上下文菜单。
当用户右键单击(鼠标)或双指单击(触控板)IKImageBrowserView
中的图像时,选择更改为该图像,并出现上下文菜单。
当用户按住控制键单击(鼠标或触控板)时,选择不会改变,并且会出现上下文菜单。
由于上下文菜单是相对于所选图像的,我更喜欢在调用上下文菜单时更改选择。
- 我能否在按住 Control 键单击(鼠标和触控板)时也进行
IKImageBrowserView
更改选择? - 我可以不将上下文菜单附加到
IKImageBrowserView
,而是附加到IKImageBrowserView
的单个 element/image 吗?
如果你创建一个 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;
}