假如我有一个button,frame大小等已经固定,title的字符串有时候会超过frame的宽度,这时需要显示tool tip;而title的字符串小于frame的宽度时,不需要显示tool tip。
因此,只要能获取到字符串在控件中所占用的宽度,与frame的宽度相比较,就可以了。
//cell button的单元。
//attributes 字符串的属性,在这里获取的是font。
//strTitle button的title。
//btnTitleSize 根据字符串的属性得到字符串的size。
//btnCellSize button cell 的size。
NSString *strTitle = [button title];
NSCell *btnCell = [button cell];
NSDictionary *attributes = [NSDictionary dictionaryWithObject:[btnCell font] forKey:NSFontAttributeName];
NSSize btnTitleSize = [strTitle sizeWithAttributes:attributes];
NSSize btnCellSize = [btnCell cellSize];
接下来只要比较btnTitleSize.width 和 btnCellSize.width
就可以设置tool tip了。