2017-06-06 39 views
0

我有幾張圖像,我想根據從Web服務獲得的特定值設置ImageView的圖像。iOS - 如何根據特定值將圖像設置爲ImageView

例如,如果我有價值「狗」,我必須設置一隻狗的形象。

所有的圖像都在我的xcassets彙編中。

我應該爲此做一個開關嗎?還是有更好的方法來做到這一點?

+0

P您可以創建圖像的名字從服務器獲取的陣列,並相應地填充。 –

+0

您可以按前綴順序將xcassets中的所有圖像重命名。假設'dog.png'爲'dog'等。然後以他們的名字稱呼路徑。 – Roy

回答

0

如果Web服務返回您的資產使用相同的名稱,然後你可以直接使用返回的名稱爲圖像的名稱使用這樣的:

let newImage: UIImage? = UIImage(named: imageName) // imageName is the name returned to you by the web service. 
self.myUIImageView.image = newImage 
0

可以說你得到「狗「值來自web服務,並且您有保存在.xcassests文件夾中的」狗「圖像,那麼您可以簡單地使用相同的名稱來指定圖像名稱。理想情況下,在.xcassets文件夾中創建來自服務器的相同圖像名稱,以正確映射圖像。

假設你有模型,數據結構和imageName屬性存儲映像名稱

struct Data { 
    let imageName: String 
} 

let imageName = data.imageName //"dog" 
imageView.image = UIImage(named: imageName) 
相關問題