我不確定在使用 King Fisher 添加占位符方面缺少什么。這是代碼
NavigationLink {
CustomView()
}
label: {
KFImage.url(URL(string: imageUrl)!)
.placeholder {
Image(systemName: "photo")
}
.fade(duration: 0.25)
.onFailure { error in print("Load image error : \(error) = \(earthquakeDetail.imgUrl)")
}
.resizable()
.aspectRatio(contentMode: .fill)
}
因此,當影像成功下載時,它會填充整個寬度,并且高度會與寬度成比例地調整。
對于占位符,發生的情況是圖示太小,寬度和高度區域大于影像成功下載和顯示時占用的區域。
請查看以黃色和綠色方塊突出顯示的影像。我嘗試在設定框架(寬度:.infinity)時添加一個包裝影像的 HStack,但沒有按照我想要的方式作業。
我在這里能錯過什么?我還需要值為 80 的影像占位符寬度(使用 .frame(width: 80) 但它也沒有成功。


uj5u.com熱心網友回復:
據我了解,您希望圖示大于默認大小,如果是這種情況,您將需要使用字體樣式.font(.system(size: CGFloat(fontSize)))
或使用以下代碼更改影像的大小:
NavigationLink {
CustomView()
} label: {
KFImage.url(URL(string: imageUrl)!)
.placeholder {
Image(systemName: "photo")
.resizable()
.frame(width: 80)
}
.fade(duration: 0.25)
.onFailure { error in print("Load image error : \(error) = \(earthquakeDetail.imgUrl)")
}
.resizable()
.aspectRatio(contentMode: .fill)
}
需要將一個可調整大小的物件添加到占位符中,因為第二個可調整大小的物件僅在加載后才對影像起作用。希望這可以幫助!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/516574.html
標籤:迅速迅捷翠鸟