我有一个工具提示:
cellView.textField.toolTip = cellView.textField.stringValue;
它始终显示,但我只需要在文字剪辑时显示工具提示......我怎么能实现它?
答案 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)