2011-02-25 52 views
2

您好我正在使用NSTableView在我的应用程序。使用可可在nstable视图中显示水平网格线

我想根据行数显示网格线,但即使行数非常少,它也会显示许多行。

这是一种常见的行为?

或者我做错了什么? 我已经检查了xib的水平网格线选项。

无法理解如何使用代码来实现此目的。

+0

[η画出NSTableView的网格线只对填充的行(可能的复制http://stackoverflow.com/问题/ 5606796 /绘制网格线在nstableview只为填充行) – 2016-08-23 01:21:14

回答

0

如果我理解你的问题,我可以说:“是”。从NSTableView中可以预料,即使在设置为空时也可以实现条纹。

我知道你也想通过编程来管理这些行。考虑检查这个方法setGridStyleMask:在NSTableView Class Reference

祝你好运。

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]; 
} 
+0

我写了一个错误,苹果,因为你不应该这样做。 – Mark 2013-04-25 01:34:24