2010-07-29 63 views
1

我试图让我的表视图中的行调整其高度,但委托方法:的tableView:heightOfRow:从不叫

- (CGFloat) tableView:(NSTableView *)tableView heightOfRow:(NSInteger)row

永远不会被调用。我已经实现了其他委托方法,并且它们完美地工作。 有没有我没有做的事情?

谢谢!

回答

2

你能确认你已经实现了其他委托方法,而不是其他数据源的方法呢?一个常见的错误是挂钩你的数据源而不是你的委托。它们是NSTableView上的不同网点。

+0

Ooooh,哇。我应该更仔细地检查一下。谢谢,我对此感到困惑。谢谢! – Donovan 2010-07-29 20:32:43

2

你是否在改变行高?从文档:

虽然表视图可能会缓存返回的值,但您应该确保此方法是有效的。当您更改行的高度时,必须通过调用noteHeightOfRowsWithIndexesChanged:使现有行高无效。当调用reloadDatanoteNumberOfRowsChanged时,NSTableView会自动使其整个行高缓存失效。