我有一个NSTableView,但我没有直接在窗口中显示它。我改为在它前面显示一个NSImageView,并绘制全部或部分表视图(实际上,它包含滚动视图的一部分,但我将继续说表视图)到NSImageView显示的图像中。一切都很好。然后我添加了仅将部分表视图绘制到图像中的功能,以获得缩放效果。例如,虽然图像视图及其图像始终为500x500,但可以将200x200平方的表格视图绘制到图像中(通过绘制方法放大)。我的问题是,当表格视图中的像素以> 1:1映射到图像视图中的像素时,我会从表格视图中看到白色的单元间空格。
我绘制了部分表格视图:
NSBitmapImageRep *imageRep = [scrollViewContainingTableView bitmapImageRepForCachingDisplayInRect:visibleImageRect];
[imageRep setSize:imgSize];
[scrollViewContainingTableView cacheDisplayInRect:rectIWantFromTableView toBitmapImageRep:imageRep];
我认为我的表格单元格绘制逻辑可能是错误的,所以我在整个视图上绘制了黑色,并且白色的行间行保持不变:http://i.imgur.com/ivEvnkL.png
我已经使用此方法调用将单元格间距设置为0:
[tableView setIntercellSpacing:NSMakeSize(0, 0)];
如何完全消除这些行间空间?