【问题标题】:swift: Same image used in different UIImageView?swift:在不同的 UIImageView 中使用相同的图像?
【发布时间】:2017-04-16 13:13:16
【问题描述】:

我已完成以下操作以将 UIImage 分配给 UIView 对象的不同实例。在我的 UIView 中,我有一个 UIImageView 来保存图像。

var transitionImageNames = ["1.png", "2.png", "3.png", "4.png"]

var count=0
for item in myList {
    var transitionImageName = transitionImageNames[count]
    item.transitionImageView.image = UIImage(named: transitionImageName)
// transitionImageName refers to 4 different images, let say 1,2,3,4.png
if (count<=3) {
    count += 1
}
}

myList 中有许多不同的项目。我已经打印出项目实例,它们都有不同的实例值。但是,我发现要显示transitionImageView,即使我在myList中设置1、2、3、4.png为4个不同的项目,它们都显示相同的图像(这是最后一组)

知道为什么吗?

【问题讨论】:

  • 您的代码为所有图像设置了相同的 transitionImageName。所以它必须是显示的相同图像。
  • 分享你试过的代码..
  • 即使您更新的代码也没有显示问题。问题在于获取transitionImageName。在使用 var 进行自己的调查之前,请提供您如何获取它的代码或直接添加打印。
  • 您新更新的代码现在与我下面的答案相同。如果 myList 包含少于或等于四个视图,它应该可以完成它的工作。在更新您的代码之前,您写的是随机获得 transitionImageName 。但现在它只是一个简单的任务。所以我不知道如何帮助你了。如果您不提供必要的信息,将没有更好的答案。

标签: ios swift uiview uiimageview uiimage


【解决方案1】:

我认为你需要这样的东西:

var transitionImageNames = ["1.png", "2.png", "3.png", "4.png"]
for (index, item) in myList.enumerated() {
   item.transitionImageView.image = UIImage(named: transitionImageNames[index])
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2014-10-20
  • 1970-01-01
  • 2016-08-21
  • 1970-01-01
  • 2016-05-23
  • 2015-11-12
  • 1970-01-01
  • 2021-12-11
相关资源
最近更新 更多