2015-09-17 3 views
0

Мне нужно знать высоту строки, поэтому я могу установить высоту ячейки. Проблема в том, что я получаю строку асинхронной, и мне нужно знать высоту ячейки до создания коллекции. И мне нужно это для работы с разными языками (специальные символы).Как получить высоту строки с использованием ширины и размера шрифта?

Строка будет в ярлыке внутри ячейки. У меня были некоторые из моих решений, но никто не работал с другими языками, а другой работал, но не получал реального опыта.

ответ

0

попробовать эту функцию, и я надеюсь, что это поможет вам:

- (CGFloat)calculateHeightForLabel:(UILabel *)label 
{ 
    CGRect frame = label.frame; 
    CGSize size = [label sizeThatFits:CGSizeMake(frame.size.width, FLT_MAX)]; 
    return size.height; 
} 
+0

один вопрос, я не большой с Objective C, что FLT_MAX –

+0

FLT_MAX максимальное значение поплавка –

+0

нет, это не работает:/ –

0
CGRect rect =[yourLabeltextString boundingRectWithSize:CGSizeMake(yourLabel.width, CGFLOAT_MAX) 
       options:(NSStringDrawingUsesFontLeading|NSStringDrawingUsesLineFragmentOrigin) 
       attributes:@{NSFontAttributeName:[UIFont fontWithName:@"Helvetica" size:17]} 
       context:nil]; 
    CGFloat height=rect.height; 

Используйте код, приведенный выше, и изменять атрибуты в тот, который вы можете получить prefered.You высоту вашей строки.