1

我在 scrollViewDidScroll() 方法中放入了从 PHAsset 中提取图像以显示在视图上的方法。我对当前图像、上一个图像和下一个图像执行此操作。所以我每次加载 3 张图片。当我滚动时,我会破坏不使用的图像。

但是当我在视图之间滚动时,我有一点震动。我认为这是因为要显示的照片正在从 PHAsset 加载到我的视图中。

我能做些什么来解决这个问题?

这是我输入 scrollViewDidScroll() 方法时为照片收费的代码(页面是图像的编号):

        let options = PHImageRequestOptions()
        options.resizeMode = PHImageRequestOptionsResizeMode.None
        options.deliveryMode = PHImageRequestOptionsDeliveryMode.HighQualityFormat
        options.version = PHImageRequestOptionsVersion.Current
        options.synchronous = true
        let size:CGSize = CGSizeMake((CGFloat(lastAsset.pixelWidth)*1),(CGFloat(lastAsset.pixelHeight)*1))
        PHImageManager.defaultManager().requestImageForAsset(self.listOfAssets[page], targetSize: size, contentMode: PHImageContentMode.AspectFit, options: options, resultHandler: {(result, info) -> Void in
            self.imagesToDisplay[page] = result!
        })
        scrollView.frame = frame
        let newPageView = UIImageView(image: self.imagesToDisplay[page])
        newPageView.contentMode = UIViewContentMode.ScaleAspectFit
        newPageView.frame = scrollView.bounds

        scrollView.addSubview(newPageView)
        self.subviewsToDisplay[page] = scrollView
        self.mainScrollerView.addSubview(scrollView)
        self.pageViews.replaceObjectAtIndex(page, withObject: scrollView)
4

0 回答 0