высота ячейки как высота изображения - PullRequest
0 голосов
/ 25 июня 2018

Привет! Я пытаюсь указать высоту ячейки как высоту изображения.

Я использую PinterestLayout, все работает нормально, но проблема в возврате heightForPhotoAtIndexPath до получения высоты изображений

func collectionView(_ collectionView: UICollectionView, heightForPhotoAtIndexPath indexPath: IndexPath) -> CGFloat {
        // Get  Object

        let images = addArray[indexPath.row]["images"] as! [PFFile]
        let image = images[0] as PFFile
        image.getDataInBackground(block: { (data, error) in
            if error == nil { if let imageData = data {
                self.image2 = UIImage(data: imageData)!
                self.height = self.image2.size.height
                if self.height > 1000.0 {
                    self.height = self.height / 4.0
                } else if self.height > 450 {
                    self.height = self.height / 3.0
                }
                print(self.height)
                }}})

        print(height)
        return height

       }
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
281.0
609.0
250.0
197.666666666667
281.0
281.0
281.0
281.0
281.0

1 Ответ

0 голосов
/ 25 июня 2018

В моем предыдущем проекте я использовал Pinterest Layout, и я сделал этот метод ниже. Но я не помню деталей.

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    let itemSize = (collectionView.frame.width - (collectionView.contentInset.left + collectionView.contentInset.right + 10)) / 2
    return CGSize(width: itemSize, height: itemSize)
}
...