【问题标题】:NSTableView: How do you update a displayed tooltip?NSTableView:如何更新显示的工具提示?
【发布时间】:2018-04-19 17:36:42
【问题描述】:

对于我的 NSTableView,我已经定义了

 -tableView:toolTipForCell:rect:tableColumn:row:mouseLocation:

这确实返回了我想要显示的字符串,并且 NSTableView 确实将该字符串显示为工具提示。

问题是在显示工具提示时,我在同一个表格单元格中单击鼠标,这将导致上述方法返回不同的字符串。但是,我似乎无法弄清楚如何告诉表格它需要更新正在显示的工具提示。

我确实尝试调用 -removeAllToolTips,但没有任何效果,正如预期的那样。

我可以通过调用 [sender setToolTip:@""];虽然,它突然消失了,而不是一个不错的、缓慢的淡出。

但是,除非我移动鼠标并等待,否则工具提示不会与更新的文本一起重新出现......这不是我想要的行为。

有没有办法告诉表格它需要更新正在显示的工具提示?

关于如何更好地处理此问题的任何其他想法或想法?

【问题讨论】:

    标签: cocoa macos tooltip nstableview appkit


    【解决方案1】:

    目前不可能。

    【讨论】:

      【解决方案2】:

      你试过了吗:

      [aTableView setNeedsDisplayInRect:[aTableView rectOfRow:row]];
      

      row”在哪里?

      【讨论】:

      • 是的。它什么都不做,我真的不希望它这样做,因为它不是需要重绘的表格,而是工具提示。我确实尝试在整个桌子上调用 -setNeedsDisplay: ,但它什么也没做。
      猜你喜欢
      • 1970-01-01
      • 2012-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-28
      • 1970-01-01
      • 2015-12-26
      • 1970-01-01
      相关资源
      最近更新 更多