写入iOS相册的图像不正确

时间:2017-08-02 12:20:35

标签: ios swift uiscrollview uiimageview uipagecontrol

我正在使用UIImageWriteToSavedPhotosAlbum()将图片保存到设备的相册中。

我将我的图像放在一个数组中,它们显示在PageControl

navigationBar上的下载图标会将图片保存到Photos

我可以将图像保存到Photos,但保存的图像不正确,即不保存特定索引处的图像。这就是我将所有图像添加到页面控件....

func scrollImagesWhileViewChange() {

    for i in arrayOfURLImages {

    self.pageControl.size(forNumberOfPages: arrayOfURLImages.count)
        let scrollViewWidth:CGFloat = self.scrollView.frame.width
        let scrollViewHeight:CGFloat = self.scrollView.frame.height
        let index = arrayOfURLImages.index(of: i)
        let imageA = UIImageView(frame: CGRect(x: CGFloat(index!) * scrollViewWidth, y:0,width:scrollViewWidth, height:scrollViewHeight))
        imageA.image = i
        self.scrollView.addSubview(imageA)
        self.imageToDownload = imageA
        self.scrollView.contentSize = CGSize(width:self.scrollView.frame.width * CGFloat(arrayOfURLImages.count), height:self.scrollView.frame.height)
        self.scrollView.delegate = self
        self.pageControl.numberOfPages = arrayOfURLImages.count
        self.pageControl.currentPage = 0

}
}

self.imageToDownload = imageA部分中,我将图像分配给UIImageView变量。这就是我如何保存到照片' ..

UIImageWriteToSavedPhotosAlbum(self.imageToDownload.image!, self, #selector(MyViewController.image(_:didFinishSavingWithError:contextInfo:)), nil)

这里第一个参数应该得到正确的索引。但我无法弄明白......

1 个答案:

答案 0 :(得分:0)

当您点击下载按钮时,您需要找出页面控制的当前索引,然后根据当前索引从arrayOfURLImages获取正确的图像,然后保存到相册。

试试这个 -

UIImageWriteToSavedPhotosAlbum(arrayOfURLImages[self.pageControl.currentPage], self, #selector(MyViewController.image(_:didFinishSavingWithError:contextInfo:)), nil)