如何在不对单元格的segue进行操作的情况下点击UITableViewCell中的单元格按钮

时间:2015-11-03 08:48:46

标签: ios uitableview swift2 ios9

我的自定义单元格有2个按钮,每个自定义单元格也执行一个segue。

segue正常运行,问题来自我的按钮永远不会被触发的事实。 如果我点击它们然后触发segue,而不是按钮。 如何克服这个?

以下是定义按钮操作的代码:

在表格视图控制器

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier(CCELL.WISHCELL, forIndexPath: indexPath) as! WishCell
    let row = indexPath.row
    let product = products.elements[row]


    // Setup the 2 cell buttons
    cell.removeButton.tag = indexPath.row
    cell.addToCartButton.tag = indexPath.row
    cell.removeButton.addTarget(self, action: "removeFromWishList:", forControlEvents: .TouchUpInside)
    cell.addToCartButton.addTarget(self, action: "addToCart", forControlEvents: .TouchUpInside)

选择器的targette函数是有效的,我没有错误。按钮永远不会被解雇。

如果不是那么琐碎,需要更多代码,请问我!

1 个答案:

答案 0 :(得分:1)

到目前为止我找到的最佳解决方案:

override func tableView(tableView: UITableView,     editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? {
let delete = UITableViewRowAction(style: .Destructive, title: "Delete") { (action, indexPath) in
    // delete item at indexPath
}
  let share = UITableViewRowAction(style: .Normal, title: "Disable") { (action, indexPath) in
    // share item at indexPath
}

  share.backgroundColor = UIColor.blueColor()

  return [delete, share]
}

将我的操作作为滑动按钮,它更多" iOS"式