【问题标题】:iOS - How to set image to ImageView according to a specific valueiOS - 如何根据特定值将图像设置为 ImageView
【发布时间】:2017-06-06 10:11:33
【问题描述】:

我有几张图片,我想根据我从网络服务获得的特定值来设置我的 ImageView 的图片。

例如,如果我得到值“狗”,我必须设置狗的图像。

所有图片都在我的 xcassets 库中。

我应该为此做一个开关吗?还是有更好的方法?

【问题讨论】:

  • P 你可以创建一个从服务器获取的图像名称数组并相应地填充。
  • 您可以按前缀顺序重命名 xcassets 中的所有图像。假设,dog.pngdog 等等。然后将路径称为路径。

标签: ios uiimageview xcasset


【解决方案1】:

如果 Web 服务返回的名称与您的资产中使用的名称相同,那么您可以直接使用返回的名称作为要使用的图像的名称,如下所示:

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

【讨论】:

    【解决方案2】:

    假设您从 Web 服务获取“dog”值,并且您在 .xcassests 文件夹中保存了“dog”图像,那么您可以简单地使用相同的名称来指定图像名称。理想情况下,在 .xcassets 文件夹中创建来自服务器的相同图像名称以正确映射图像。

    假设你有 Model as Data 结构和 imageName 属性存储图像名称

    struct Data {
      let imageName: String
    }
    
    let imageName = data.imageName //"dog"
    imageView.image = UIImage(named: imageName)
    

    【讨论】:

      猜你喜欢
      • 2021-10-09
      • 1970-01-01
      • 2011-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多