Автоматическая высота для метки или просмотра текста в ячейке табличного представления - PullRequest
1 голос
/ 11 июня 2010

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

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

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

Кто-нибудь знает, как решить эту проблему дизайна?

Спасибо

Ответы [ 2 ]

2 голосов
/ 11 июня 2010

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

-(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;

}

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

0 голосов
/ 11 июня 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...