嗨,我在我的应用程序中使用NSTableView。
我希望根据行数显示网格线,但即使行数非常少,也会显示很多行。
这是一种常见的行为吗?
或者我做错了什么? 我已经检查了xib的水平网格线选项。
无法理解如何使用代码实现此目的。
答案 0 :(得分:2)
到目前为止,我觉得最适合我的是以下代码。 只是欺骗原始的网格绘图代码,只在填充的行上绘制。
子类NSTableView,如果需要,并覆盖drawGridInClipRect:(NSRect)clipRect,如下所示:
- (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];
}
答案 1 :(得分:1)
如果我理解你的问题,我可以说:“是”。如果设置它,即使是空的,也可以从NSTableView中获得条纹。
我意识到你还想以编程方式管理这些行。考虑在NSTableView Class Reference。
上查看此方法setGridStyleMask :. 祝你好运。