我在 Interface Builder 中设置NSTableView
,以便从NSArray
填充。数组的每个值表示表中的一行。该值绑定正确,但作为副作用,表格单元格的工具提示设置为绑定对象的字符串表示。
就我而言,NSArray
包含NSDictionary
个对象,工具提示看起来可能是该词典的[... description]
输出。非常难看......
我根本不想设置工具提示。我有其他表绑定了纯NSString值,他们没有自动设置工具提示。是否有一些Interface Builder魔术正在进行?我试着从一个空白项目开始 - 同样的问题。
我应该补充一点,表格单元格是NSTextFieldCell
的自定义实现,它使用NSButtonCell
实例在表格中绘制图像和标签。从作为值绑定的字典中检索值。
为什么在仅绑定“value”属性时设置了工具提示?
提前致谢!
答案 0 :(得分:4)
固定。这是发生的事情:
NSTableView可以绘制一个特殊的工具提示窗口,并显示单元格的内容,如果它不适合单元格。
禁用此功能可以通过实现NSTableViewDelegate方法来完成:
- (BOOL)tableView:(NSTableView *)tableView
shouldShowCellExpansionForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
return NO;
}