Можете ли вы отобразить небольшое изображение в ячейке detailTextLabel? - PullRequest
0 голосов
/ 06 марта 2012

Так мне было интересно, можно ли отобразить небольшое изображение в элементе TextLabel ячейки? (Я получаю изображение из URL) Я попробовал его с:

NSString *thumbs = [NSString stringWithFormat:@"%@", TableText3];
cell.detailTextLabel.text = thumbs;

Что по понятной причине не работает. Я также пытался с:

UIImage *thumbs = [UIImage imageWithData:[NSData dataWithContentsOfURL:
                                          [NSURL URLWithString:TableText3]]];
cell.detailTextLabel.text = thumbs;

Что также (очевидно) не работает, потому что я передаю изображение в строковый параметр.

Удивительно, но я ничего не нашел на WWW. (Параметры поиска: «изображение в текстовой метке» или изображение или просто текстовая метка и изображение и различные варианты)

Ответы [ 3 ]

2 голосов
/ 06 марта 2012

Вы не можете поместить его непосредственно в метку, потому что метки отображают только текст. Но вы можете использовать свойство imageView UITableViewCell.

cell.imageView = [[UIImageView alloc] initWithImage: thumbs];

https://developer.apple.com/library/ios/documentation/uikit/reference/UITableViewCell_Class/Reference/Reference.html

1 голос
/ 06 марта 2012

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

1 голос
/ 06 марта 2012

Вместо того, чтобы помещать изображение в свойство imageView, вы можете создать UIImageView и поместить его в свойство accessoryView:

UIImage     * thumbs;
UIImageView * thumbsView;
CGFloat       width;

thumbs             = [UIImage imageWithData:[NSData dataWithContentsOfURL:
                              [NSURL URLWithString:TableText3]]];
thumbsView         = [[[UIImageView alloc] initWithImage:thumbs] autorelease];
width              = (cell.frame.size.height * thumbs.size.width) / thumbs.size.height;
thumbsView.frame   = CGRectMake(0, 0, width, cell.frame.size.height);
cell.accessoryView = thumbsView;

Это позволит изменить размер изображения в соответствии с ячейкой и расположить его всправа от текста Label и detailTextLabel.

...