NSTableView 选定的行颜色(在选择时删除 NSTableView 的边框)

发布于 2024-12-07 09:46:24 字数 244 浏览 1 评论 0原文

我正在使用 NSTableView 来显示我的数据。我想删除默认情况下采用蓝色的所选行的颜色。我可以将其设置为透明颜色吗?是否可以??

编辑:

我怎样才能删除这个蓝色边框?我已将Clear color 设置为表格背景。

在此处输入图像描述
提前致谢..!!! :)

I am using NSTableView for display my data. I want to remove color of selected row which by default taking blue color. Can i set it to Clear color. Is it possible??

EDIT:

how can i remove this blue border?? I have set Clear color to table background.

enter image description here
Thanks in advance..!!! :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

﹉夏雨初晴づ 2024-12-14 09:46:24
[tableView setSelectionHighlightStyle:NSTableViewSelectionHighlightStyleNone];

要删除表格的蓝色聚焦环边框,请选择 .XIB 中的表格并将聚焦环设置为无

[tableView setSelectionHighlightStyle:NSTableViewSelectionHighlightStyleNone];

To remove the table's blue focus ring border, select the table in your .XIB and set Focus Ring to None

嘦怹 2024-12-14 09:46:24

这条线应该移除环。

[tableView setFocusRingType:NSFocusRingTypeNone];

This line should remove the ring.

[tableView setFocusRingType:NSFocusRingTypeNone];

执妄 2024-12-14 09:46:24

@Snhl
Francis McGrew 说“在 .XIB 中选择表格并将聚焦环设置为无”,该表格位于滚动视图内

@Snhl
Francis McGrew said "select the table in your .XIB and set Focus Ring to None", that table's inside the Scroll View

单身情人 2024-12-14 09:46:24

这可以解决问题:)

[result setSelectable:NO];

将上面的代码放入下面的方法中...

- (NSView *)tableView:(NSTableView *)tableView
   viewForTableColumn:(NSTableColumn *)tableColumn
                  row:(NSInteger)row {
    NSTextField *result = [tableView makeViewWithIdentifier:@"MyView" owner:self];

    // There is no existing cell to reuse so create a new one
    if (result == nil) {

        result = [[NSTextField alloc] initWithFrame:CGRectMake(0, 0, 289, 50)];
        result.identifier = @"MyView";
    }

    [result setBackgroundColor:[NSColor clearColor]];
    [result setBordered:NO];

//set selectable proeprty to NO and your blue border will disappear
[result setSelectable:NO];
 // Return the result
    return result;

}

This would do the trick :)

[result setSelectable:NO];

Put the above code in the below method ...

- (NSView *)tableView:(NSTableView *)tableView
   viewForTableColumn:(NSTableColumn *)tableColumn
                  row:(NSInteger)row {
    NSTextField *result = [tableView makeViewWithIdentifier:@"MyView" owner:self];

    // There is no existing cell to reuse so create a new one
    if (result == nil) {

        result = [[NSTextField alloc] initWithFrame:CGRectMake(0, 0, 289, 50)];
        result.identifier = @"MyView";
    }

    [result setBackgroundColor:[NSColor clearColor]];
    [result setBordered:NO];

//set selectable proeprty to NO and your blue border will disappear
[result setSelectable:NO];
 // Return the result
    return result;

}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文