自定义表格视图单元格上的UITapGestureRecognizer不起作用

时间:2015-12-27 11:39:16

标签: ios swift

我正在尝试为自定义表格视图单元格中的图像添加手势识别器。出于某种原因,我似乎无法使它工作。这是我的代码

override func awakeFromNib() {
    super.awakeFromNib()

    heartImage.userInteractionEnabled = true
    let gesture = UITapGestureRecognizer(target: self, action:Selector("onHeartTap"))
    gesture.delegate = self
    heartImage.addGestureRecognizer(gesture)
}

func onHeartTap(sender: UITapGestureRecognizer) 
    print("TAPPED")
}

正确调用awakeFromNib()函数,但是在点击图像时永远不会调用onHeartTap()。我做错了什么?

2 个答案:

答案 0 :(得分:2)

没关系,解决了。已为图像启用了用户交互,但未为该单元启用。从故事板启用它,一切正常。 感谢大家的帮助!

答案 1 :(得分:1)

在你的选择器名称'onHeartTap'中缺少“:”

只需替换

protected void gvAgendamentoExclui_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow) {
            LinkButton lnk = e.Row.FindControl("LinkButton2") as LinkButton;
            AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
            trigger.ControlID = lnk.UniqueID;
            trigger.EventName = "Click";
            UpdatePanel2.Triggers.Add(trigger);

        }
    }

protected void LinkButton2_Click(object sender, EventArgs e)
    {
        UpdatePanel2.Update();
    }

还有什么特别的原因你在awakeFromNib中这样做?您也可以在viewWillAppear上执行此操作。