UIImage не отображается в UIScrollView - PullRequest
0 голосов
/ 18 мая 2019

Я беру фотографии из библиотеки, используя какао-боб под названием BSImagePicker. Изображения затем сохраняются в PhotoArray. Я хочу взять эти изображения из массива и представить их в виде изображения, которое содержится внутри scrollView. Однако изображения не отображаются вообще.

Это то, что я сейчас пробовал.

Это код, который какао-боб использует для хранения изображений в массиве:

func openImagePicker() {
    let vc = BSImagePickerViewController()

    self.bs_presentImagePickerController(
        vc, 
        animated: true,
        select: { (assest: PHAsset) -> Void in },
        deselect: { (assest: PHAsset) -> Void in },
        cancel: { (assest: [PHAsset]) -> Void in },
        finish: { (assest: [PHAsset]) -> Void in
            for i in 0..<assest.count {
                self.SelectedAssets.append(assest[i])
            }

            self.convertAssetToImages()
        }, 
        completion: nil
    )
    print(photoArray)
    setupImages(photoArray)
}

это код, который конвертирует актив в изображение

extension addImages {

    func convertAssetToImages() -> Void {

        if SelectedAssets.count != 0{

            for i in 0..<SelectedAssets.count{

                let manager = PHImageManager.default()
                let option = PHImageRequestOptions()

                var thumbnail = UIImage()

                option.isSynchronous = true

                let width = scrollView.frame.width
                let height = scrollView.frame.height

                manager.requestImage(for: SelectedAssets[i], targetSize: CGSize(width: width, height: height), contentMode: .aspectFill, options: option, resultHandler: {(result,info) -> Void in
                    thumbnail = result!
                })

                let data = thumbnail.jpegData(compressionQuality: 1)
                let newImage = UIImage(data: data! as Data)
                self.photoArray.append(newImage! as UIImage)
            }
        } 
    }
}

этот код переводит изображение из массива фотографий в вид прокрутки

func setupImages(_ images: [UIImage]){
    for a in 0..<photoArray.count {

        let theImage = UIImageView()
        theImage.image = self.photoArray[a]
        let xPosition = UIScreen.main.bounds.width * CGFloat(a)
        self.scrollView.frame = CGRect(x: xPosition, y: 0, width: self.scrollView.frame.width, height: self.scrollView.frame.height)
        theImage.contentMode = .scaleAspectFit
        self.scrollView.contentSize.width = self.scrollView.frame.width * CGFloat(a + 1)
        self.scrollView.addSubview(theImage)

      }
  }

Понятия не имею, почему он не работает.

...