SnapSh0t
@SnapSh0t
iOS-Developer

Как сделать динамичным UIImageView в swift 3?

Здравствуйте!

Вопрос, собственно, в названии. Есть изображения разные по ширине и высоте, как генерировать ячейку в зависимости от размера изображения?

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        
        let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! MainTableViewCell
        
        let myRecipe = recipe[indexPath.row]
        
        let img = NSKeyedUnarchiver.unarchiveObject(with: myRecipe.imageRecipe! as Data) as! NSArray
        
        cell.nameRecipe.text = myRecipe.nameRecipe
        cell.imageRecipe.image = UIImage(data: img[0] as! Data)
        

        return cell
    }

288957b3b1ef4ad5a88e46c28525e274.pngebc5fcdd7b3341e3a4fe652b9c363959.png

А то это не совсем красивое отображение.
  • Вопрос задан
  • 357 просмотров
Решения вопроса 1
tikhonov666
@tikhonov666
iOS, Swift, Objective-C
Друг, так все же просто.
Во-первых во viewDidLoad делаешь у таблицы динамический размер ячейки
override func viewDidLoad() {  
    super.viewDidLoad()

    self.tableView.estimatedRowHeight = 80 // примерная высота ячейки
    self.tableView.rowHeight = UITableViewAutomaticDimension // определяет высоту в зависимости от контента
}


Далее раставляешь констрейты у изображения так, чтобы они были привязаны к краям ячейки
KI5ky.pngВопрос на stackoverflow
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы