通过按在空数组中更改uiimageview的颜色

问题描述 投票:0回答:1

下面的我的快速代码有一个按钮,当触摸时,将图像视图放置在视图控制器上。我要做的唯一一件事是,当一个单独的imageview而不是仅一个选择的所有imageview都是触摸时,我只想一次触摸一次就将颜色从紫色更改为蓝色。

enter image description here

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)



   }}
swift tags imageview append user-interaction
1个回答
0
投票

您已经将图像视图的isUserInteractionEnabled属性设置为true。要响应触摸事件,请创建一个UITapGestureRecognizer并将其添加到图像视图中,如下所示:

UITapGestureRecognizer

然后在let gestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(imageViewTapped)) subview.addGestureRecognizer(gestureRecognizer) 方法内部,您可以从sender参数中提取图像视图:

imageViewTapped
© www.soinside.com 2019 - 2024. All rights reserved.