Size: a a a

iOS Developers — русскоговорящее сообщество

2020 February 12

S

Sergey in iOS Developers — русскоговорящее сообщество
Denis Kim
для более точного ответа нужно больше кода
У меня только uitableview, его достаточно?
https://pastebin.com/PBMJYkGV
источник

S

Sergey in iOS Developers — русскоговорящее сообщество
Имадж ставится соотвественно
DispatchQueue.main.async {
      completionHandler(image)
}
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
код imageLoader.obtainImageWithPath(imagePath:) нужен
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
подозреваю он выполняется синхронно, следовательно ячейка еще не имеет верных размеров
источник

S

Sergey in iOS Developers — русскоговорящее сообщество
Denis Kim
код imageLoader.obtainImageWithPath(imagePath:) нужен
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
хотя не, кажется вставка рисунка увеличивает фрейм
источник

S

Sergey in iOS Developers — русскоговорящее сообщество
Я думаю да, т.к ставится сначала плейсхолдер
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
ну что я могу сказать. правильно - перенести в layoutSubviews, неправильно - использовать вместо imageView?.frame.width высоту самой ячейки
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
cell.frame.size.height
источник

S

Sergey in iOS Developers — русскоговорящее сообщество
Denis Kim
ну что я могу сказать. правильно - перенести в layoutSubviews, неправильно - использовать вместо imageView?.frame.width высоту самой ячейки
Для layoutSubviews нужно кастомный Cell написать?
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
естественно
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
можно конечно засвизлить метода оригинального класса, но в чем проблема отнаследоваться и переопределить 1 метод?
источник

S

Sasha_A in iOS Developers — русскоговорящее сообщество
сделать кастомную ячейку раза в три было бы быстрее чем тут искать сомнительные методы решения проблемы)
источник

S

Sergey in iOS Developers — русскоговорящее сообщество
Denis Kim
можно конечно засвизлить метода оригинального класса, но в чем проблема отнаследоваться и переопределить 1 метод?
Картинка вообще не ставится если ячейка видна, я напутал что-то с вызовами?

UiTableView

...
{ (image) in
           // Before assigning the image, check whether the current cell is visible
     if let updateCell = tableView.cellForRow(at: indexPath) {
               updateCell.imageView?.image = image
               updateCell.layoutIfNeeded()
     }
}

Custom UITableViewCell

private class TopChatsCell: UITableViewCell {
   
   override public func layoutSubviews() {
      super.layoutSubviews()
      if let frameWidth = self.imageView?.frame.width {
          self.imageView?.layer.cornerRadius = frameWidth / 2.0
          self.imageView?.clipsToBounds = true
      }
   }
}
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
предполагаю что таблица все еще работает с UITableViewCell, а не с TopChatsCell
источник

S

Sergey in iOS Developers — русскоговорящее сообщество
Denis Kim
предполагаю что таблица все еще работает с UITableViewCell, а не с TopChatsCell
Что-то упустил?

tableView.register(TopChatsCell.self

public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
   {
       let cell: TopChatsCell = tableView.dequeueReusableCell(withIdentifier: cellReuseIdentifier) as! TopChatsCell
источник

S

Sergey in iOS Developers — русскоговорящее сообщество
Ага, возможно tableView.cellForRow возвращает не то
попробую as? TopChatsCell
источник

S

Sergey in iOS Developers — русскоговорящее сообщество
Denis Kim
предполагаю что таблица все еще работает с UITableViewCell, а не с TopChatsCell
Вроде бы всё что нужно прописал
https://pastebin.com/Div4UEik
источник

S

Sergey in iOS Developers — русскоговорящее сообщество
Через `setNeedsLayout()`сработало
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
на 122 строчку вообще попадает?
источник