有时我们需要给UIImageView添加UIGestureRecognizer来响应用户操作事件,但是直接addGestureRecognizer发现不能响应。
最开始以为是view层级出问题被其他view的UIGestureRecognizer屏蔽了,最后在stackoverflow上搜到是因为:
UIImageView的userInteractionEnabled默认为false,而UIView的userInteractionEnabled默认是true
因此在添加UIGestureRecognizer时需要手动开启用户交互:
imageView.userInteractionEnabled = true
imageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: "clickImageView:"))