如何使用一系列图像视图隐藏图像?

时间:2016-12-01 20:13:18

标签: ios arrays swift uiimageview uitapgesturerecognizer

我有一组图像视图。

var imageViewArray = [UIImageView(image: UIImage())]

我使用for循环用来自url的图像填充此数组。我想做到这一点,当我触摸其中一个图像时,它变得隐藏或alpha:0。我试过这个:

let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(StoryVC.imageTapped))
newImage.userInteractionEnabled = true
newImage.addGestureRecognizer(tapGestureRecognizer)

我也尝试添加标签,但我无法弄清楚如何获取发件人。我需要能够运行该功能来隐藏图像并知道隐藏哪个图像,这就是我正在努力的部分。提前谢谢。

2 个答案:

答案 0 :(得分:1)

您在选择器的参数中获得UITapGestureRecognizer个对象,并且它有一个属性view,可以为您提供已点击的视图。

let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.imageTapped(_:)))

func imageTapped(_ sender: UITapGestureRecognizer) {
    guard let tappedImage = sender.view else { return } 
}

答案 1 :(得分:0)

选择器应该是您班级中的一个功能。这是一个例子:

// Setting up the tapGestureRecognizers
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(pressed:))
newImage.userInteractionEnabled = true
newImage.addGestureRecognizer(tapGestureRecognizer)

// The function that handles the tap event
func pressed(sender: UIImageView!) {
    if sender.alpha == 0{
        sender.alpha = 1
    }
    else{
        self.alpha = 0
    }
}

另外请务必仔细检查我的语法,我不经常使用Swift编写,因此可能会有一些小错误。