2012-05-25 3 views

ответ

0

Я думаю, вы можете это сделать, реализовав метод делегирования текстового поля, controlTextDidEndEditing и проверив размер текста. Я обнаружил, что размер, возвращаемый sizeWithAttributes: не соответствует размеру, который я ожидал бы при заполнении текстового поля, поэтому я просто определил значение, которое мне нужно для выражения if 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]; 
    } 
} 
Смежные вопросы