2013-06-27 5 views
0

Я использую этот код:Как найти точную высоту размера NSString?

CGSize currentItemSize = [@"A" sizeWithFont:[UIFont fontWithName:@"HelveticaNeue" size:13.0] constrainedToSize:CGSizeMake(30.0, 20.0) lineBreakMode:NSLineBreakByClipping]; 

и я получаю высоту 17,0, когда на самом деле на экране это письмо меньше.

Я тоже пробовал sizeWithFont: без ограничений и режим lineBreak, но результат всегда один и тот же.

Мне нужен метод, который мог бы предоставить мне высоту самой высокой буквы в данном NSString (например, @ "zy" буква "y" выше, чем "z". Кто-нибудь знает, как это сделать?

ответ

1

Вы должны спросить UIFont

UIFont *font = [UIFont fontWithName:@"HelveticaNeue" size:13.0]; 

NSLog(@"Capital Letter Height: %f", font.capHeight); 
NSLog(@"X Height: %f", font.xHeight); 
NSLog(@"Lower Letter Height: %f", font.xHeight - font.descender);