2013-07-23 3 views
3

Моя проблема почти похожа на this размер установки для соответствия отображает весь текст в метке, но он перекрывает другие ячейки в виде таблицы, поскольку высота ячейки различна. для вычисления высоты настоящего время я использую этот методКак вычислить высоту текста, который содержит emoji iphone

+(CGSize)CommentSize:(NSString*)comment { 

return [comment sizeWithFont:[UIFont boldSystemFontOfSize:messageTextSize] constrainedToSize:CGSizeMake(265, CGFLOAT_MAX) lineBreakMode:UILineBreakModeWordWrap]; 
} 

Он вычисляет высоту текста правильно, но дополнительная высота (6 пикса), что занятой смайлики не добавляются к высоте сообщений.

Я также попытался установить текст на другой лейбл сделал это sizetofit и получить высоту и передать это так, но он дает такую ​​же высоту, что и выше метод ограниченного

+(CGSize)CommentSize:(NSString*)comment { 

    UILabel *reviews = [[UILabel alloc]initWithFrame:CGRectMake(14, 13,265,30)];//Set frame 
    reviews.numberOfLines=0; 
    reviews.lineBreakMode = UILineBreakModeWordWrap; 
    reviews.font = [UIFont boldSystemFontOfSize:14]; 
    reviews.text = comment; 
    [reviews sizeToFit]; 

    CGFloat reviewlblheight = reviews.frame.size.height; 

    CGSize maxlblSize = CGSizeMake(265,reviewlblheight); 
    return maxlblSize; 

} 

, как я могу вычислить высоту , помогите ребятам.

Нашли другую ссылку, связанную с этим выпуском https://github.com/mattt/TTTAttributedLabel/issues/82. Пытался реализовать решение, предложенное mooshee. но не смог решить проблему. может ли кто-нибудь предложить, как я могу это решить.

Решение

Небольшой редактировать ко второму фрагменте кода выше решается вопрос - Изменение UILabel к TTTAttributelabel высота рассчитывается с использованием ТТТ и UILabel различны.

Любой, кто сталкивается с той же проблемой, может использовать второй фрагмент кода. Я не уверен, что это правильный подход, но он решает проблему.

спасибо.

+0

комментарий sizeToFit и перепроверить, что случилось? – mindfreak

+0

@mindfreak то же самое, что и над другими ячейками. – vamsi575kg

+0

Он работал, спасибо за подсказку @ vamsi575kg – iAmd

ответ

-2

Проверить этот код ...

CGRect labelFrame = label.frame; 
labelFrame.size = [label sizeThatFits:CGSizeMake(100, 9999)]; 
[label setFrame:labelFrame]; 
+0

Увеличьте высоту этой метки и попробуйте: UILabel * reviews = [[UILabel alloc] initWithFrame: CGRectMake (14, 13,270,300)]; – mindfreak

+0

Вы использовали текстовое поле или текстовое окно для ввода ввода? – mindfreak

+0

Я думаю, вам нужно добавить дополнительные 6pix на строку, поэтому сначала подсчитайте строку no.of, затем добавьте 6 * no.of.line. И второй вариант - увеличить размер вашего шрифта до 6pix. :) – mindfreak

Смежные вопросы