Увеличение размера ячейки по отношению к контенту, поступающему от веб-сервиса в iphone - PullRequest
0 голосов
/ 30 января 2012

Это может быть простой вопрос, но я хочу пройти по правильному пути.

Я извлекаю некоторое содержимое из веб-службы и отображаю его в виде таблицы.

Длина текста, которыйвыборка может варьироваться.

Иногда может быть только одно строчное предложение, иногда абзац и т. д.

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

Надеемся на вашу помощь.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 30 января 2012

Предположим, вы храните текст для каждого содержимого в массиве. И индекс выровнялся с ячейкой таблицы. Вот код, который вы хотите использовать.

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
NSString *string = [array objectAtIndex:indexPath.row];

//300 is the width, you can change this to make it look right.
CGSize maximumLabelSize = CGSizeMake(300 ,9999);
CGSize expectedLabelSize = [string sizeWithFont:YOURLABEL.font 
                                    constrainedToSize:maximumLabelSize 
                                        lineBreakMode: UILineBreakModeWordWrap]; 

return expectedLabelSize.height;

}

В значительной степени охватывает основные. Просто спросите, есть ли у вас еще вопросы. И прочитайте комментарий Лины. Это красивое место.

0 голосов
/ 30 января 2012

В вашем UITableViewDelegate реализован следующий метод

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

, возвращающий правильную высоту в соответствии со строкой.

вы можете использовать метод -sizeWithFont: из NSStringчтобы получить размер текста в пикселях, который вы получаете.

http://developer.apple.com/library/IOs/documentation/UIKit/Reference/NSString_UIKit_Additions/Reference/Reference.html#//apple_ref/occ/instm/NSString/sizeWithFont:

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