我有幾張圖像,我想根據從Web服務獲得的特定值設置ImageView的圖像。iOS - 如何根據特定值將圖像設置爲ImageView
例如,如果我有價值「狗」,我必須設置一隻狗的形象。
所有的圖像都在我的xcassets彙編中。
我應該爲此做一個開關嗎?還是有更好的方法來做到這一點?
我有幾張圖像,我想根據從Web服務獲得的特定值設置ImageView的圖像。iOS - 如何根據特定值將圖像設置爲ImageView
例如,如果我有價值「狗」,我必須設置一隻狗的形象。
所有的圖像都在我的xcassets彙編中。
我應該爲此做一個開關嗎?還是有更好的方法來做到這一點?
如果Web服務返回您的資產使用相同的名稱,然後你可以直接使用返回的名稱爲圖像的名稱使用這樣的:
let newImage: UIImage? = UIImage(named: imageName) // imageName is the name returned to you by the web service.
self.myUIImageView.image = newImage
可以說你得到「狗「值來自web服務,並且您有保存在.xcassests文件夾中的」狗「圖像,那麼您可以簡單地使用相同的名稱來指定圖像名稱。理想情況下,在.xcassets文件夾中創建來自服務器的相同圖像名稱,以正確映射圖像。
假設你有模型,數據結構和imageName屬性存儲映像名稱
struct Data {
let imageName: String
}
let imageName = data.imageName //"dog"
imageView.image = UIImage(named: imageName)
P您可以創建圖像的名字從服務器獲取的陣列,並相應地填充。 –
您可以按前綴順序將xcassets中的所有圖像重命名。假設'dog.png'爲'dog'等。然後以他們的名字稱呼路徑。 – Roy