gpt4 book ai didi

macos - NSTableView 上不存在的多个单元格

转载 作者:行者123 更新时间:2023-12-03 17:38:47 25 4
gpt4 key购买 nike

我有一个包含 3 个单元格的 NSTableView。我已经使用以下代码调整了该表格 View 以显示分隔符:

  [self.tableView setGridColor:[NSColor lightGrayColor]];
[self.tableView setIntercellSpacing:NSMakeSize(1, 1)];
[self.tableView setGridStyleMask:NSTableViewDashedHorizontalGridLineMask];

当我渲染表格时,我看到这个:

enter image description here

该表显示了许多不应该存在且大小不同的单元格!

这正常吗?我如何摆脱那些“幻影细胞”?

最佳答案

如果表格中的所有内容行的大小相同,则可以使用NSTableView大小检查器来指定大小。如果这样做,系统添加的“填充”行也将具有此大小。

enter image description here

为了摆脱与系统添加的行相关的网格线,下面的代码片段在一个非常快速的演示应用程序中为我工作(这个代码片段不是我自己的,它取自另一个 Stackoverflow 问题的答案)

// MyNSTableView.m (only need to override this one NSTableView method)

- (void)drawGridInClipRect:(NSRect)clipRect
{
NSRect lastRowRect = [self rectOfRow:[self numberOfRows]-1];
NSRect myClipRect = NSMakeRect(0, 0, lastRowRect.size.width, NSMaxY(lastRowRect));
NSRect finalClipRect = NSIntersectionRect(clipRect, myClipRect);
[super drawGridInClipRect:finalClipRect];
}

将两者结合起来会产生以下效果(我使用交替的行颜色来表明网格线确实没有为系统添加的填充行绘制) .

enter image description here

关于macos - NSTableView 上不存在的多个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27731821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com