Высота динамической ячейки UITableView корректируется только после некоторой прокрутки при изменении размера ячейки в соответствии с представлением uiimage - PullRequest
0 голосов
/ 30 мая 2019

enter image description here

Как вы можете видеть на первом изображении.Текст не виден в UITableviewCell.После того, как я прокручиваю, он появляется и изменяет размеры ячейки.Я хочу изменить размер ячейки в соответствии с UIImage.Я получаю изображение из API, используя SDWebImage.Я помещаю код, который я сделал в ячейке UITableView для метода строки.

cell.imgViewSlide.sd_setImage(with: URL(string: 
  self.arrSliderImage[indexPath.row]), placeholderImage: UIImage(named: "HomeSliderImage"), options: .continueInBackground) { (image, error, type, url) in

let screenBounds = UIScreen.main.bounds

let pixelWidth = Int((image?.size.width)!)

let pixelHeight = Int((image?.size.height)!)


let height = ((pixelHeight  * Int(screenBounds.width)) / pixelWidth)                                
cell.heightImage.constant = CGFloat(integerLiteral: height)                                  
                                }

Я применил много раствора, но не работал правильно.

enter image description here

1 Ответ

0 голосов
/ 30 мая 2019

Прежде всего, когда вы выбираете изображения с динамического URL-адреса с помощью SDWebImage, вначале вам необходимо установить статическую высоту для изображения вашей ячейки tableView в раскадровке.

Определите Ограничение Outlet для этой высоты изображения в вашей ячейке, а затем вы должны определить высоту изображения в соответствии с Соотношение сторон .

cell.imgViewSlideHeight.constant = CGFloat((aspectRatio) * Double(self.frame.width))

Здесь self - ссылка на UITableViewCell, а imgViewSlideHeight - ограничение высоты изображения ячейки.

...