gpt4 book ai didi

ios - 将项目插入数组时基于更新 UIimage

转载 作者:行者123 更新时间:2023-12-01 21:28:08 25 4
gpt4 key购买 nike

我有 4 个 ImageView 。当我在 for, 数组中添加颜色时,第一个 ImageView 背景将根据内容发生变化。我的目标是每当我添加颜色时, ImageView 背景颜色都会改变。当我添加第一种颜色时,第一个 ImageView 会改变,第二个颜色,第二个 ImageView 会改变等等。
我怎么能做到呢?
通过创建 ImageView 的集合来实现它是可能的。

import UIKit

class ViewController: UIViewController {

@IBOutlet weak var image1: UIImageView!
@IBOutlet weak var image2: UIImageView!
@IBOutlet weak var image3: UIImageView!
@IBOutlet weak var image4: UIImageView!
@IBOutlet var images: [UIImageView]!

var colors = ["Green","Red"]
var forms = [String]()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}


@IBAction func buttonPressed(_ sender: UIButton) {
if let randomColor = colors.randomElement() {
forms.append(randomColor)

switch forms.last {
case "Green":
image1.backgroundColor = #colorLiteral(red: 0.1960784346, green: 0.3411764801, blue: 0.1019607857, alpha: 1)

case "L":

image1.backgroundColor = #colorLiteral(red: 0.521568656, green: 0.1098039225, blue: 0.05098039284, alpha: 1)
default:
print("Unknow")

}

}

}

}

最佳答案

下一张图片的索引是forms.count-1 .而不是将颜色分配给 image1 ,尝试设置images[forms.count-1]的颜色:

@IBAction func buttonPressed(_ sender: UIButton) {
if let randomColor = colors.randomElement() {
forms.append(randomColor)
let index = forms.count - 1
guard index < images.count else {
// index out of bounds
return
}
switch forms.last {
case "Green":
images[index].backgroundColor = #colorLiteral(red: 0.1960784346, green: 0.3411764801, blue: 0.1019607857, alpha: 1)
case "Red":
images[index].backgroundColor = #colorLiteral(red: 0.521568656, green: 0.1098039225, blue: 0.05098039284, alpha: 1)
default:
print("Unknow")

}
}
}
更新:
要显示最后 4 项,请尝试以下代码片段:
@IBAction func buttonPressed(_ sender: UIButton) {
if let randomColor = colors.randomElement() {
forms.append(randomColor)
if forms.count > images.count {
forms.removeFirst()
}
for i in 0..<forms.count {
switch forms[i] {
case "Green":
images[i].backgroundColor = #colorLiteral(red: 0.1960784346, green: 0.3411764801, blue: 0.1019607857, alpha: 1)

case "Red":

images[i].backgroundColor = #colorLiteral(red: 0.521568656, green: 0.1098039225, blue: 0.05098039284, alpha: 1)
default:
print("Unknow")

}
}
}
}

关于ios - 将项目插入数组时基于更新 UIimage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63256001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com