iOS - изображение не отображается с пользовательской ячейкой (Swift) - PullRequest
0 голосов
/ 01 сентября 2018

Я пытаюсь использовать пользовательский класс ячейки (customCell) для отображения изображений из моего массива в ячейке. Если я использую ячейку по умолчанию (без 'as! CustomCell'), показанные изображения - поэтому я могу только предположить, что это как-то связано с моим настраиваемым классом ячеек (customCell)

Вот мой собственный код класса ячейки:

class customCell: UITableViewCell {

override func layoutSubviews() {
    super.layoutSubviews()
}

var customImageView: UIImageView {
    let customImage = UIImageView()
    customImage.image = UIImage(named: "PlaceholderImage")
    return customImage
}

override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
    super.init(style: .subtitle, reuseIdentifier: reuseIdentifier)

    addSubview(customImageView)

}

required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

}

и мой код tableView, в котором я пытаюсь вызвать изображение (если оно имеет значение):

 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: cellId, for: indexPath)  as! customCell

    let array = displayArray[indexPath.section]

    cell.customImageView.image = UIImage(named: "PlaceholderImage")

    if let imageUrl = array.imageUrl {
        let url = URL(string: imageUrl)
        URLSession.shared.dataTask(with: url!) { (data, response, error) in

            if error != nil {
                print(error!)
                return
            }

            DispatchQueue.main.async {

                 cell.customImageView.image = UIImage(data: data!)

            }
            }.resume()
    }

            return cell
}

1 Ответ

0 голосов
/ 01 сентября 2018

Вам необходимо установить рамку вашего UIImageView:

var customImageView: UIImageView {
    let customImage = UIImageView()
    customImage.frame = CGRect(x: 0, y: 0, width: self.frame.size.width, height: self.frame.size.height)
    customImage.image = UIImage(named: "PlaceholderImage")
    return customImage
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...