TapGestureRecognizer不会在swift中触发

时间:2015-12-30 07:19:44

标签: swift uiimageview uigesturerecognizer

嗨,我没有用来修复此问题的卡片。我们走了。

我有这五个imageview这是第一个imageview的声明,但基本上他们有相同的声明

 @IBOutlet weak var first: UIImageView!{
        didSet{
            first.tag = 1
            first.addGestureRecognizer(tapGesture())
        }
    }

然后tapGesture()方法就是这个

private func tapGesture() -> UITapGestureRecognizer {
    let tapGesture = UITapGestureRecognizer(target: self, action: Selector("iconTapped:"))
    tapGesture.numberOfTapsRequired = 1
    tapGesture.numberOfTouchesRequired = 1
    return tapGesture
}

点击imageview时的动作调用iconTapped()方法,这就是代码

func iconTapped(sender:UITapGestureRecognizer){
    if let tag = sender.view?.tag{
        processGesture(tag)
    }
}

我已将所有imageview userInteractionEnable都放到true但仍未触发。有谁可以帮助我?

某些因素可能会有所帮助,也可能没有帮助,viewdidload我更新约束并对imageview做一些动画,但我不会以编程方式添加任何子视图

1 个答案:

答案 0 :(得分:2)

在尝试了这么多东西后,我查看了我的视图层次结构并找出了我的UIImageView其余userInteractionEnable在故事板中设置为false(未选中)的父视图。

在这种情况下,parentview是我的superview,修复我需要在viewDidLoad()

中添加它
self.view.userInteractionEnabled = true

单击storyboard中的parentView,然后在属性检查器中选中“启用用户交互”。

PS。抱歉愚蠢的错误,但我会保留这个问题,可能还有其他遇到同样的问题。