didSelectItemAtIndexPath未在swift中调用

时间:2015-05-23 10:48:40

标签: swift ios8

我有一个集合视图,其中包含每个单元格中的图像视图和按钮,当我点击imageView didSelectItemAtIndexPath时,点击它不调用的按钮

这是代码

id

2 个答案:

答案 0 :(得分:3)

当你点击按钮时,

didSelectItemAtIndexPath不会打电话,所以你必须按照我下面提到的那样做:

  1. 当你在cellForItemAtIndexPath创建一个按钮时,只需用这样的方式添加标签:

    button.tag = indexPath.row
    
  2. 之后你必须添加按下按钮时调用的动作:

    button.addTarget(self, action: "buttonTapAction:", forControlEvents: UIControlEvents.TouchUpInside)
    
  3. 之后当您按下按钮进入单元格时,您可以调用此方法:

    func buttonTapAction(sender:UIButton!)
    {
        var button : UIButton = sender as! UIButton
        var row : Int = button.tag
    
        println(row)
    }
    
  4. 因此,您可以获得indexPath的价值。

    有关更多参考,您可以参考使用tableview的THIS示例,但它可以帮助您更好地理解。

答案 1 :(得分:1)

尝试替换它:

button.addTarget(self, action: "showNotice", forControlEvents: UIControlEvents.TouchUpInside)

用这个:

button.addTarget(self, action: "showNotice:", forControlEvents: UIControlEvents.TouchUpInside)