【发布时间】:2026-01-06 03:15:01
【问题描述】:
我下面的 swift 代码有一个按钮,当触摸时会在视图控制器上放置一个图像视图。我唯一想做的就是当一个单独的图像视图不是所有的图像视图只是一个选择被触摸时,我想仅在触摸时将颜色从紫色更改为蓝色,并且一次一个。
import UIKit
class ViewController: UIViewController {
var count: Int = 0
var ht = -90
var ww = 80
var moveCounter = 0
var counter = 0
var arrTextFields = [UIImageView]()
var b7 = UIButton()
override func viewDidLoad() {
super.viewDidLoad()
[b7].forEach {
$0.translatesAutoresizingMaskIntoConstraints = false
view.addSubview($0)
$0.backgroundColor = .systemOrange
}
b7.frame = CGRect(x: view.center.x-115, y: view.center.y + 200, width: 70, height: 40)
b7.addTarget(self, action: #selector(addBOx), for: .touchUpInside)
}
//func that adds imageview.
@objc func addBOx() {
let subview = UIImageView()
subview.isUserInteractionEnabled = true
arrTextFields.append(subview)
view.addSubview(subview)
subview.frame = CGRect(x: view.bounds.midX - 0, y: view.bounds.midY + CGFloat(ht), width: CGFloat(ww), height: 35)
subview.backgroundColor = .purple
subview.tag = count
count += 1
ht += 50
arrTextFields.append(subview)
}}
【问题讨论】:
-
你能附上截图吗??,我没有正确理解你的问题,你想在 ButtonClick 上做什么????
-
buttonClick 是调用 func addBoX 时。该函数将图像视图添加到视图控制器。当单击其中一个图像视图时,该图像视图的颜色应从紫色变为蓝色。我会尽快添加一些图片。
-
@NayanDave 添加了我正在尝试做的截图。
标签: swift tags imageview append user-interaction