4

我有一个工具提示:

cellView.textField.toolTip = cellView.textField.stringValue;

它总是显示,但我只需要在文本被剪辑时显示工具提示......我怎样才能实现它?

4

3 回答 3

1

allowsExpansionToolTipsxib 中 Table View Cell 的属性设置为 YES。

在此处输入图像描述

于 2018-10-25T04:47:44.490 回答
0

我认为您可以通过实现文本字段委托方法 controlTextDidEndEditing 并检查文本大小来做到这一点。我发现 sizeWithAttributes: 返回的大小与填充文本字段时预期的大小不匹配,因此我只是凭经验确定了 if 语句所需的值(在此示例中,我绑定了文本字段的值到一个属性,theText)。

-(void)controlTextDidEndEditing:(NSNotification *)obj {
    NSLog(@"%@",NSStringFromRect([obj.object frame]));
    NSDictionary *dict = [NSDictionary dictionaryWithObject:[NSFont systemFontOfSize:13] forKey:@"NSFontAttributeName"];
    NSSize size = [theText sizeWithAttributes:dict];
    NSLog(@"%@",NSStringFromSize(size));
    if (size.width >69) {
        [obj.object setToolTip:theText];
    }
}
于 2012-05-26T01:39:41.697 回答
0

尝试:allowExpansionToolTips(在SwiftObj-C中)

当单元格无法显示完整内容并且用户将指针悬停在控件上时,会显示扩展工具提示。

于 2020-11-09T12:02:27.440 回答