【问题标题】:How to change image of a button with variable image name?如何更改具有可变图像名称的按钮的图像?
【发布时间】:2019-01-12 11:12:03
【问题描述】:

我想以编程方式更改按钮的图像。我现在唯一的方法是:

button.setImage(UIImage.init(named: "imagename", for: .normal))

但现在我想使用变量imagename。有没有办法做到这一点?最后我有一个图像文件夹,然后我使用函数收集图像。该函数的最后一行是我将 imagename 设置为收集的图像的名称。我知道如何编写这个函数。但我不知道如何使用变量图像名设置按钮的图像。 我希望你能理解我的问题,任何人都可以帮助我。

代码如下:

 var imageArroy = [UIImage(named:"car1"),UIImage(named:"car2")]

//scrollview
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return imageArroy.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "ImageCollectionViewCell", for: indexPath) as! ImageCollectionViewCell

    var imagename: String = imageArroy[indexPath.row])

    cell.car.setImage(UIImage.init(named: imagename)!, for: .normal)

    return cell
}

【问题讨论】:

  • 什么是可变图像名称?只是StringUIImage 类型的一些变量?
  • 我使用 imagename 作为一个变量。使用String类型会更好吗?
  • 那么你有图片数组吗?在您的问题中添加一些代码以更好地理解
  • 我添加了代码。谢谢

标签: ios swift imagebutton


【解决方案1】:

由于你有一个元素数组,你可以通过指定它的索引来获取某个元素

array[index]
       ^ Int

...注意第一个元素的索引是0,而不是1


因此,在cellForRowAt 中,您可以通过从数组中获取与当前索引路径行相同的索引上的图像来获得某些UIImage?。别忘了打开它

cell.car.setImage(imageArroy[indexPath.row]!, for: .normal)

【讨论】:

    猜你喜欢
    • 2021-10-02
    • 1970-01-01
    • 2018-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-02
    • 2018-06-23
    相关资源
    最近更新 更多