Как обрабатывать асинхронные изображения и видео при добавлении изображения в качестве SubView? - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть представление коллекции, где я добавляю изображение или видео в зависимости от типа носителя в объекте Media().

В чем я не уверен, так это в том, как я мог бы использовать что-то вроде SDWebbImage при добавлении видео или изображения в качестве SubView вместо добавления его в представление UIImage.

        if postArray[indexPath.item].media[0].imageURLString != nil { //its an image
        print("display image")

        var imageView = UIImageView(image: postArray[indexPath.item].media[0].imageURLString!)
        imageView.frame = CGRect(x: 0, y: 0, width: 126, height: 203)//cell.frame
        cell.imageOrVideoView//Here I need to add image
            //.addSubview(imageView)//Here I would usualy add a UIImage to subview

Я также задавал этот вопрос относительно той же общей темы.

1 Ответ

1 голос
/ 25 апреля 2019

Во-первых: вы не должны добавлять подпредставления внутри cellForItemAt, поскольку ячейка отключена, и это приведет к переполнению содержимого и смешению, если вы не очистите его перед повторным использованием, но вам нужно создать выход илиimageView один раз в качестве экземпляра var, затем используйте его

Второй: лучше иметь отдельную ячейку для изображения, а другую для видео

Наконец: используйте SDWebImage для изображений и VGPlayer для видео

...