当用户点击它时,我正在尝试将UIImageView
分配给一个操作。
我知道如何为UIButton
创建操作,但我如何模仿UIButton
的相同行为,但使用UIImageView
?
您将需要一个UITapGesture识别器
。要设置使用它:
override func viewDidLoad()
{
super.viewDidLoad()
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(imageTapped(tapGestureRecognizer:)))
imageView.isUserInteractionEnabled = true
imageView.addGestureRecognizer(tapGestureRecognizer)
}
@objc func imageTapped(tapGestureRecognizer: UITapGestureRecognizer)
{
let tappedImage = tapGestureRecognizer.view as! UIImageView
// Your action
}
(您也可以使用UIButton
并为其分配图像,无需文本,只需连接IBAction
)
您需要在您的UIImageView
中添加一个手势识别器(对于点击使用UITapGesture识别器,对于点击和按住使用UILongPressGesture识别器)。
let tap = UITapGestureRecognizer(target: self, action: #selector(YourClass.tappedMe))
imageView.addGestureRecognizer(tap)
imageView.isUserInteractionEnabled = true
并实现选择器方法,例如:
@objc func tappedMe()
{
println("Tapped on Image")
}
您可以将UITapGesture识别器
添加到imageView中,只需将一个拖到Storyboard/xib中,从imageView中Ctrl拖动到手势识别器,然后从手势识别器中Ctrl拖动到Swift-file以生成IBAction
。