扩展基于视图的NSTableView

时间:2013-07-25 21:25:45

标签: objective-c nstableview

我有一个基于视图的NSTableView,其中一些单元格具有足够的内容而不适合。当用户将光标悬停在单元格上时,我希望能够自动扩展单元格。

在搜索时,似乎这是基于单元格的NSTableView的默认行为。甚至还有像shouldShowCellExpansionForTableColumn这样的方法,doc说这些方法仅用于基于单元格的表视图。文档中的其他地方暗示默认情况下基于单元格的表视图的此扩展行为是偶然的吗?

- (BOOL)tableView:(NSTableView *)tableView shouldShowCellExpansionForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row

我的印象是我错过了一些明显的东西。

目标:

  • 能够在基于视图的单元格中放置多行NSTextField对象(比处理步骤更多)
  • 如果内容溢出,请将可视指示符放入单元格
  • 当用户在单元格上执行工具提示样式悬停时,展开视图以显示所有内容

2 个答案:

答案 0 :(得分:0)

您似乎走在正确的轨道上,因为这应该适用于基于单元格的NSTableViews。你需要在tableView的委托中放入tableView:shouldShowCellExpansionForTableColumn:row :.您可以为感兴趣的列回复“是”。

使用基于视图的表,您使用NSTextFields这些滚动,截断或换行,但没有扩展悬停选项。可以将工具提示文本设置为与可能是合理解决方案的内容相同。

答案 1 :(得分:0)

您是否尝试更改某些鼠标操作触发的行高(tableView:heightOfRow:)?您可能需要重新加载tableview。