[英]Swift - How to resize UICollectionViewCells after image is downloaded from URL?
[英]How do I know in swift 5 if the image was actually downloaded from an url?
我正在使用帶有滾動視圖的頁面控件,並希望將下載的圖像添加到滾動視圖中,直到提供的鏈接不再下載圖像。 現在,鏈接下載圖像,直到索引不大於 7,但循環仍在繼續。 顯然它沒有返回錯誤,當 url 盡管沒有要下載的圖像時仍然可以加載。 這是我在索引大於 7 的瀏覽器中手動粘貼 url 時得到的結果。
這是我使用的代碼。 我想知道是否有辦法測試是否下載了實際的圖像。
var test = 15
func setupScreens() {
for index in 1..<test {
// 1.
frame.origin.x = scrollView.frame.size.width * CGFloat(index - 1)
frame.size = scrollView.frame.size
// 2.
let imageView = UIImageView(frame: frame)
let urlSession = URLSession(configuration: .default)
let url = URL(string: "https://jarisstoriesphotographyphoto.files.wordpress.com/2020/06/menu\(index).png")!
// Create Data Task
let dataTask = urlSession.dataTask(with: url) { [weak self] (data, _, error) in
if let error = error {
print(error)
self?.test = 0 // should end the loop
}
if let data = data {
DispatchQueue.main.async {
// Create Image and Update Image View
imageView.image = UIImage(data: data)
self?.scrollView.addSubview(imageView)
}
}
}
// Start Data Task
dataTask.resume()
}
在代碼中設置圖像之前,您可以像這樣簡單地檢查:
DispatchQueue.main.async {
if let image = UIImage(data: data) { //Image is available in the url
imageView.image = image
self?.scrollView.addSubview(imageView)
}else {
print("Image not available in this url")
}
}
繼續編碼............ :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.