objective-c - 不允许在带有源列表突出显示的 NSTableView 中进行空选择吗?

标签 objective-c cocoa nstableview appkit

我觉得我可能在这里遗漏了一些明显的东西,但是如果我有一个 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/

相关文章:

objective-c - 如何在库或框架中禁用 NSLog?例如Admob 库

ios - 有没有办法为 iOS 设备发送特定于用户的推送通知?

objective-c - applicationShouldOpenUntitledFile 返回 NO,但应用程序仍然打开空白文档

objective-c - 将 Intruments 跟踪文件与 Xcode 项目连接起来

swift - 将 self 分配给 TableView 数据源时出错

objective-c - iOS 5:如何加密 bundle 中的属性列表?

objective-c - 使用分配和初始化

cocoa - 有没有一种好的方法可以在保留的属性上设置 KVO?

objective-c - 如何在不阻塞界面的情况下为 NSTableView 加载数据?

objective-c - 没有 NSScrollView 的 NSTableView