Автоматическая высота для маркировки или textview в ячейке табличного представления

У меня есть проблема в приложении для iPhone.

Приложение имеет контроллер табличного представления с пользовательскими ячейками табличного представления. Каждая ячейка имеет Маркировку (исправьте меня, если я должен использовать текстовое представление и т.д.). Я получаю текст динамично от вызова веб-сервиса, и я не знаю сколько времени текст, собирающийся быть.

Теперь проблема состоит в том, что я хочу скорректировать ширину ячеек табличного представления на основе текста, который я получаю. Как я могу вырастить высоту Маркировки или TextView withinin ячейка табличного представления, таким образом, она может содержать весь текст и в действительности вырастить ширину ячеек табличного представления.

Кто-либо знает, как обработать этот вид проблемы проектирования?

Спасибо

1
задан Leo 11 June 2010 в 12:22
поделиться

2 ответа

Ответ зависит от размера и сложности отображаемой информации.

Для небольших объемов текста вы можете использовать NSString UIKit Additions , чтобы вычислить размеры отображаемой строки, а затем настроить размер меток или других элементов управления ячейки перед возвратом ячейки в табличное представление. . Это позволит вам точно настроить отображение для каждой ячейки.

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

0
ответ дан 2 September 2019 в 23:49
поделиться

Вы можете получить высоту строки, переданной из функции ниже

-(float)getHeightByWidth:(NSString*)myString:(UIFont*)mySize:(int)myWidth {

    CGSize boundingSize = CGSizeMake(myWidth, CGFLOAT_MAX);
    CGSize requiredSize = [myString sizeWithFont:mySize constrainedToSize:boundingSize lineBreakMode:UILineBreakModeWordWrap];

    return requiredSize.height;

}

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

2
ответ дан 2 September 2019 в 23:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: