Arrays 提取阵列中UIImageview的背景色

Arrays 提取阵列中UIImageview的背景色,arrays,swift,xcode,if-statement,background-color,Arrays,Swift,Xcode,If Statement,Background Color,我想确定点击imageview时的背景颜色,并根据颜色执行操作。我无法理解从存储ImageView的数组中获取信息的语法。我试过下面的方法,但上面说的是错误。任何帮助都将不胜感激。我是新来的,如果我浪费了别人的时间,我很抱歉,我是通过制作自己的应用程序来学习的,它会引发很多问题。亲切的问候 类型[UIImageView]的值没有成员背景颜色 @IBAction func onTapping() { if squares.backgroundColor == UIColor.red {

我想确定点击imageview时的背景颜色,并根据颜色执行操作。我无法理解从存储ImageView的数组中获取信息的语法。我试过下面的方法,但上面说的是错误。任何帮助都将不胜感激。我是新来的,如果我浪费了别人的时间,我很抱歉,我是通过制作自己的应用程序来学习的,它会引发很多问题。亲切的问候

类型[UIImageView]的值没有成员背景颜色

@IBAction func onTapping() {
    if squares.backgroundColor == UIColor.red {
        // code    
    }
}

首先,需要在所有UIImageView上设置
userIteractionEnable



下一步将方法签名更改为:

@IBAction func onTapping(_ sender: UITapGestureRecognizer) { 

然后,您需要通过检查sender view属性来了解正在点击的图像视图:

@IBAction func onTapping(_ sender: UITapGestureRecognizer) {
    let systemRed = UIView()
    systemRed.backgroundColor = .systemRed
    if sender.view?.backgroundColor == systemRed.backgroundColor {
        print("systemRed")
    } else {
        print("systemYellow")
    }
}

正方形是一个数组。你需要传递一个索引<代码>如果正方形[0].backgroundColor=.red{
正方形
[UIImageView]
,它是一个
UIImageView
的数组。点击时是否所有UIImageView都在调用
onTapping()
?如果是这样,请添加一个发送者,检测从中点击哪个imageView,然后检查其背景颜色。@Larme是的,我有9个imageView都链接到同一个onTapping函数。谢谢,我现在将开始用谷歌搜索如何添加发送者,并学习这项新技能:)如果使用UITapgestureRecognitor。例如:参数将是点击,retr我知道哪个视图被点击了,这就是你的UIImageView。但这取决于你是如何实现
onTapping()的
@JAC编辑您的问题并展示您是如何检测TAP的您可能会在检测动态颜色时遇到一些问题。最简单的方法是创建一个视图,并将其背景设置为您希望与Hi Leo进行比较的颜色。非常感谢您持续的耐心和智慧。我在运行co时已按规定完成了操作现在我收到一个错误“viewcontroller onTapping发送到实例的无法识别的选择器”。我将进行调查,因为我可能正在做一些愚蠢的事情。你需要收集你的方法的IBOutlet。检查圆圈是否正确empty@JAC您需要9个手势识别器。您可以使用故事板添加所有手势识别器。您需要将发送的动作连接到视图控制器,然后单击所有手势识别器上的onTapping以及r参考相关图像视图,然后单击将出现在那里的手势识别器。先生,你是一个罕见的天才。它成功了。我删除了每个点击手势识别器并重新添加了它们,错误消失了,它按预期工作。我学到了很多。再次感谢你的帮助,下次你回来时我欠你一杯啤酒(在伦敦:)晚上好。