如何仅为已填充的行在NSTableView中绘制网格线?当我将网格样式掩码设置为NSTableViewSolidHorizontalGridStyleMask时,它会为所有行绘制网格线,无论是否填充.
我正在寻找一些示例代码来做到这一点.
Jac*_*ban 45
到目前为止,我发现最适合我的是以下代码.只是欺骗原始的网格绘图代码只绘制填充的行.
如果需要,子类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];
}
Run Code Online (Sandbox Code Playgroud)
Osk*_*kar 18
在Swift 3.1中,这就是您所需要的:
import Cocoa
class GridClipTableView: NSTableView {
override func drawGrid(inClipRect clipRect: NSRect) { }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5873 次 |
| 最近记录: |