如何在Swift中为UIImageView对象分配一个动作?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (39)

我试图UIImageView在用户点击它时分配一个动作。

我知道如何为a创建动作UIButton,但我怎么能模仿a的相同行为UIButton,但是使用a UIImageView

提问于
用户回答回答于

你需要一个UITapGestureRecognizer。设置使用这个:

override func viewDidLoad()
{
    super.viewDidLoad()

    let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(imageTapped(tapGestureRecognizer:)))
    imageView.isUserInteractionEnabled = true
    imageView.addGestureRecognizer(tapGestureRecognizer)
}

func imageTapped(tapGestureRecognizer: UITapGestureRecognizer)
{
    let tappedImage = tapGestureRecognizer.view as! UIImageView

    // Your action
}

(你也可以使用UIButton并为它分配一个图像,不需要文本,而只需连接一个IBAction)

用户回答回答于

你需要添加一个手势识别器(点击使用UITapGestureRecognizer,点击并按住UILongPressGestureRecognizerUIImageView

let tap = UITapGestureRecognizer(target: self, action: #selector(YourClass.tappedMe))
imageView.addGestureRecognizer(tap)
imageView.isUserInteractionEnabled = true

并执行选择器方法,如:

func tappedMe()
{
    println("Tapped on Image")
}

扫码关注云+社区