Получение UICollectionViewCell перед загрузкой первой ячейки в UICollectionView - PullRequest
0 голосов
/ 03 мая 2018

Я использую API, который позволяет мне указать размеры изображений, которые я получаю. Чтобы максимизировать эффективность сети, я пытаюсь сделать так, чтобы запрошенное измерение точно совпадало с размерами представления изображения в ячейке представления сбора.

Проблема здесь в том, что для того, чтобы указать правильные размеры в запросе API, мне нужно сначала узнать размер рамки просмотра изображения. НО - в представление не загружаются ячейки, пока API-запрос не будет выполнен. Классическая курица и испытание на яйца.

Вопрос в том, как мне получить размеры UIImageView внутри UICollectionViewCell из UICollectionView, который еще не загрузил никаких ячеек. Имеет смысл?

Моей первой и единственной надеждой, которая потерпела неудачу, было следующее:

let cell = self.topSellersCollectionView.visibleCells.first as! HomeProductsCell

Я думал, что, возможно, swift загрузил ячейку «пустой шаблон» изначально, даже если данные еще не были установлены. Это явно не тот случай.

Любая помощь? Спасибо.

1 Ответ

0 голосов
/ 03 мая 2018

Вы можете узнать рамку imageView по

override func viewDidLayoutSubviews()
{
      super.viewDidLayoutSubviews()
      self.collectionView.frame.size.width // Also subtract cell spacing to get correct dimension 
}
...