我觉得我可能在这里遗漏了一些明显的东西,但是如果我有一个 NSTableView,其突出显示设置为源列表并启用了空选择,我似乎无法单击表中的空白行清除选择。
将突出显示更改为常规可以解决问题,但当然不会按照我想要的方式绘制。
该表没有绑定(bind)并使用自定义数据源。有没有办法解决这个限制?
最佳答案
现在,我最终将以下内容添加到我的 NSTableView 子类中:
- (void)mouseDown:(NSEvent *)theEvent
{
[super mouseDown:theEvent];
if ( [self allowsEmptySelection] && [self selectionHighlightStyle] == NSTableViewSelectionHighlightStyleSourceList )
{
NSInteger row = [self rowAtPoint:[self convertPoint:[theEvent locationInWindow] fromView:nil]];
if ( row == -1 )
{
[self deselectAll:nil];
}
}
}
关于objective-c - 不允许在带有源列表突出显示的 NSTableView 中进行空选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11236576/