目標是使用相同的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