【发布时间】:2015-12-06 18:40:49
【问题描述】:
我想要实现的是当用户触摸 UIImageView 时设置 Image1,当用户抬起手指时设置 Image2。
我只能得到 UIGestureRecognizerState.Ended 这个代码
var tap = UITapGestureRecognizer(target: self, action: Selector("tappedMe:"))
imageView.addGestureRecognizer(tap)
imageView.userInteractionEnabled = true
func tappedMe(gesture: UITapGestureRecognizer)
{
if gesture.state == UIGestureRecognizerState.Began{
imageView.image=originalImage
dbgView.text="Began"
}else if gesture.state == UIGestureRecognizerState.Ended{
imageView.image=filteredImage
dbgView.text="Ended"
}else if gesture.state == UIGestureRecognizerState.Cancelled{
imageView.image=filteredImage
dbgView.text="Cancelled"
}else if gesture.state == UIGestureRecognizerState.Changed{
imageView.image=filteredImage
dbgView.text="Changed"
}
}
【问题讨论】:
-
我的错误。点击手势不支持
Began状态。一旦它被识别,你只会得到Ended状态。 -
您可能需要创建一个自定义的
UIImageView子类并覆盖touchesBegan和touchesEnded方法。 -
使用 UIButton 会更好吗?
-
我可以使用手势识别器