基于视图的NSTableView的工具提示

时间:2012-05-25 17:23:38

标签: cocoa tooltip nstableview

我有一个工具提示:

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

它始终显示,但我只需要在文字剪辑时显示工具提示......我怎么能实现它?

3 个答案:

答案 0 :(得分:0)

我认为你可以通过实现文本字段委托方法,controlTextDidEndEditing和检查文本的大小来实现。我发现sizeWithAttributes返回的大小与我填充文本字段时所期望的大小不匹配,所以我只是根据经验确定了我需要的if语句(在这个例子中我有文本字段的值绑定)到一个属性,文本)。

-(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];
    }
}

答案 1 :(得分:0)

allowsExpansionToolTips属性设置为“是”。

tableView.allowsExpansionToolTips = YES

或在xib中进行设置。

答案 2 :(得分:0)

尝试:allowExpansionToolTips(在SwiftObj-C中)

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