5 ответов:
cell.imageView.image = [UIImage imageNamed:@"image.png"];обновление: Как сказал Стивен Фишер, это должно работать только для ячеек со стилем UITableViewCellStyleDefault, который является стилем по умолчанию. Для других стилей вам нужно будет добавить UIImageView в contentView ячейки.
попробуйте этот код:--
UIImageView *imv = [[UIImageView alloc]initWithFrame:CGRectMake(3,2, 20, 25)]; imv.image=[UIImage imageNamed:@"arrow2.png"]; [cell addSubview:imv]; [imv release];
стандартный UITableViewCell уже содержит UIImageView, который отображается слева от всех ваших меток, если его изображение установлено. Вы можете получить к нему доступ с помощью свойства imageView:
cell.imageView.image = someImage;Если по какой-то причине стандартное поведение не соответствует вашим потребностям (обратите внимание, что вы можете настроить свойства этого стандартного представления изображения), то вы можете добавить свой собственный UIImageView в ячейку, как предложил Аман в своем ответе. Но в этом подходе вам придется управлять макетом ячейки самостоятельно (например, убедитесь, что чтобы метки ячеек не перекрывали изображение). И не добавляйте вложенные представления в ячейку напрямую-добавьте их в contentView ячейки:
// DO NOT! [cell addSubview:imv]; // DO: [cell.contentView addSubview:imv];
для моих коллег-пользователей SWIFT, вот код, который вам понадобится:
let imageName = "un-child-rights.jpg" let image = UIImage(named: imageName) cell.imageView!.image = image
все хорошие ответы от других. Вот два способа решить эту проблему:
непосредственно из кода, где вам придется программно управлять размерами imageview
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "xyz", for: indexPath) ... cell.imageView!.image = UIImage(named: "xyz") // if retrieving the image from the assets folder return cell }из раскадровки, где вы можете использовать инспектор атрибутов и инспектор размеров на панели утилиты для настройки позиционирования, добавления ограничений и указания размеров
в раскадровке, добавить в ImageView объект в представлении содержимого ячейки с требуемыми размерами и добавьте тег в представление(imageView) в инспекторе атрибутов. Затем выполните следующие действия в вашем viewController
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "xyz", for: indexPath) ... let pictureView = cell.viewWithTag(119) as! UIImageView //let's assume the tag is set to 119 pictureView.image = UIImage(named: "xyz") // if retrieving the image from the assets folder return cell }
Comments