如何在触摸图像视图数组时隐藏图像?
How do I hide image on touch with an array of imageviews?
我有一组图像视图。
var imageViewArray = [UIImageView(image: UIImage())]
我使用 for 循环用来自 url 的图像填充这个数组。我想做到这一点,当我触摸这些图像之一时,它会变成隐藏或 alpha: 0。我试过这个:
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(StoryVC.imageTapped))
newImage.userInteractionEnabled = true
newImage.addGestureRecognizer(tapGestureRecognizer)
我也尝试添加标签,但我不知道如何获取发件人。我需要能够 运行 隐藏图像的功能并知道要隐藏哪个图像,这是我正在努力解决的部分。提前致谢。
选择器应该是 class 中的一个函数。这是一个例子:
// 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 写,所以它可能会有一些小错误。
您在选择器的参数中得到了 UITapGestureRecognizer
对象,它有一个 属性 view
为您提供已点击的视图。
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.imageTapped(_:)))
func imageTapped(_ sender: UITapGestureRecognizer) {
guard let tappedImage = sender.view else { return }
}
我有一组图像视图。
var imageViewArray = [UIImageView(image: UIImage())]
我使用 for 循环用来自 url 的图像填充这个数组。我想做到这一点,当我触摸这些图像之一时,它会变成隐藏或 alpha: 0。我试过这个:
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(StoryVC.imageTapped))
newImage.userInteractionEnabled = true
newImage.addGestureRecognizer(tapGestureRecognizer)
我也尝试添加标签,但我不知道如何获取发件人。我需要能够 运行 隐藏图像的功能并知道要隐藏哪个图像,这是我正在努力解决的部分。提前致谢。
选择器应该是 class 中的一个函数。这是一个例子:
// 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 写,所以它可能会有一些小错误。
您在选择器的参数中得到了 UITapGestureRecognizer
对象,它有一个 属性 view
为您提供已点击的视图。
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.imageTapped(_:)))
func imageTapped(_ sender: UITapGestureRecognizer) {
guard let tappedImage = sender.view else { return }
}