我在 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)