我有一个很大的 NSTableView,只有几个项目,由网格线/分隔符分隔。一切都很好,除了在项目下方是一堆网格线,用于空项目。如何为存在的项目显示网格线,但只为不存在的项目显示纯背景?
注意:UITableView 有一种方法来设置 footerView - NSTableView 不可能使用同样的方法,否则它只是将一个大的空 View 设置为页脚的情况......
最佳答案
我想出了一个办法:
在界面生成器中,将表格 View 的“行高”设置为一个非常大的数字,即 10000,并将其设置为“固定”。在委托(delegate)中实现 tableView:heightOfRow:
例如 swift :
func tableView(tableView: NSTableView!, heightOfRow row: Int) -> CGFloat {
return 50
}
这意味着没有内容的单元格太大,您看不到网格线,因为上述方法似乎只对现有单元格调用。
根据 Elwisz 的评论,另一种方法是实现 NSTableRowView 的 drawBackgroundInRect:。
关于objective-c - 如何隐藏空项目的 UITableView 网格线/分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26018701/