目标是使用相同的UIImageView呈现不同的图像。每次用户点击一个不同的按钮时,都会在UIImageView中呈现不同的图像。在显示新图像之前在同一个UIImageView中加载多个图像闪烁最后一个图像
实施例用户流量:
- 用户对于图像1的UIImageView抽头按钮显示为装载有图像1.
- 用户敲击不同的按钮来关闭的UIImageView。 UIImageView被隐藏。
- 用户点击图像2的不同按钮。UIImageView加载图像2,然后取消隐藏。在图像2出现之前图像1出现片刻。
这是第一次运作。但是,随后的每个时间都会在显示第二个图像之前显示一秒钟之前的先前图像,导致闪烁的用户体验。例如,查看第二张图片时,您会在第二张图片出现在屏幕上之前的一瞬间看到第一张图片。
如何修复后续加载,以避免先前的图像出现?
此功能加载新的图像到一个UIImageView:
private func loadImage(targetView: UIImageView, imageURL: String) {
// Get file path to <imageURL>
let imageURL = getFilePath(imageURL)
// Create image & show in <targetView>
if let image = UIImage(named: imageURL) {
targetView.contentMode = .ScaleAspectFill
targetView.image = image
targetView.clipsToBounds = true
targetView.hidden = false
} else {
print("Error rendering image for \(imageURL)")
}
}
您是否尝试将imageView的图像设置为零,然后再显示下一个图像? – MudOnTire
@MudOnTire在'targetView.image = image'之前添加'targetView.image = nil'? – Crashalot
我无法想象为什么会出现闪烁现象,因为在按下按钮显示另一个图像之前,imageView中已经有一个图像,下一个图像会将其替换,您的意思是下一个图像会显示并且令人失望,再次出现? – MudOnTire