Подтвердить что ты не робот

Добавление изображения в ячейку

Я прочитал кучу вопросов, но не могу найти ответ

У меня есть TableView, но я не могу добавить изображение в свою ячейку

cell.imageView.image = UIImage(named: "osx_design_view_messages")

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

Im, использующий быстрый способ

 override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell!
{
    let cellIdentifier = "cell"

    var cell : UITableViewCell

    cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier) as UITableViewCell
    cell.textLabel.text = self.recipies[indexPath.row]
    var image : UIImage = UIImage(named: "osx_design_view_messages")
    return cell
}
4b9b3361

Ответ 1

Вот несколько возможных причин вашей проблемы:

  • Протокол ячейки должен включать UIImageView. Если вы используете раскадровку, выберите прототип ячейки и убедитесь, что ее стиль установлен на "Основной" в инспекторе атрибутов (правая панель).

  • Идентификатор ячейки не соответствует идентификатору, указанному для вашей ячейки прототипа в вашем раскадровке. Убедитесь, что для "Идентификатор" также введена "ячейка" в инспекторе атрибутов.

  • Изображение не загружается из файла. Чтобы проверить это, добавьте следующую строку после инициализации изображения:

    println("The loaded image: \(image)")

После проверки того, что все настроено в вашем раскадровке, попробуйте запустить его с помощью этого кода:

override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell!
    {
        let cellIdentifier = "cell"

        var cell : UITableViewCell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier) as UITableViewCell

        cell.textLabel.text = self.recipes[indexPath.row]

        var image : UIImage = UIImage(named: "osx_design_view_messages")
        println("The loaded image: \(image)")
        cell.imageView.image = image

        return cell
    }

Ответ 2

Swift 3

//мы используем это, если ваши изображения находятся на сервере.

//мы получаем изображения с URL-адреса.

//вы можете установить изображение из вашего Xcode.

//это выполняется с помощью назначения тега imageView

  • URL-адрес изображений находится в имени массива = thumbnail i.e self.thumbnail [indexPath.row]
  • on UITableviewCell помещает изображение в ячейку
  • выберите UIimageView, назначив ему тег из раскадровки.

    let pictureURL = URL(string: self.thumbnail[indexPath.row])!
    let pictureData = NSData(contentsOf: pictureURL as URL)
    let catPicture = UIImage(data: pictureData as! Data)
    var imageV = UIImageView()
    imageV = cell?.viewWithTag(1) as! UIImageView
    imageV.image = catPicture