问题描述
我有一个显示图像缩略图的 NSCollectionView,我刚刚切换到使用 QLThumbnailGenerator 来获取它们。 有超过 6,000 张可能的图像可供查看,如果我滚动得太快,我开始从生成器返回错误的缩略图。 这是一个错误,还是我可以做些什么来解决这个问题? 下面是写在 NSCollectionViewItem 派生类里面的代码……
var request: QLThumbnailGenerator.Request?
func loadImage()
{
if imageView?.image != NSImage(imageLiteralResourceName: "Placeholder")
{
return
}
request = QLThumbnailGenerator.Request(fileAt: url!,size: imageSize,scale: 1.0,representationTypes: [.lowQualityThumbnail])
QLThumbnailGenerator.shared.generateBestRepresentation(for: request!)
{
(thumbnail: QLThumbnailRepresentation?,error: Error?) -> Void in
if let request = self.request
{
QLThumbnailGenerator.shared.cancel(request)
}
DispatchQueue.main.async
{
[unowned self] in
if self.imageView?.image != NSImage(imageLiteralResourceName: "Placeholder")
{
return
}
let transition = CATransition()
transition.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.easeInEaseOut)
transition.duration = 0.3
imageView?.layer?.add(transition,forKey: nil)
imageView?.image = thumbnail?.nsImage
…
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)