2017-06-06 78 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) 
相关问题