表视图单元格中的按钮

时间:2016-03-25 08:26:13

标签: ios swift uitableview button

我有一个自定义按钮,它被添加到静态单元格中。不管怎样,每当我点击按钮时,它都不会像按钮被添加到普通普通视图那样立即做出反应。

点按时,它会立即注册水龙头,但在更改之前背景颜色稍有延迟。

要更改颜色,我在UIButton的子类中有以下代码:

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
    super.touchesBegan(touches, withEvent: event)

    border.fillColor = .redColor()  // border is a CAShapeLayer
    print("began")                  // This prints right when the button is clicked
}

此按钮添加在UITableViewCell的子类中,按钮正在响应,但更改颜色有延迟。我该如何解决这个问题?

回答(由果冻):
Jelly的答案给了我很多帮助,让按钮的反应更好一些。知道问题是什么也使研究问题更容易,并发现按钮的反应就像在普通视图中一样,我必须在表视图中禁用delaysContentTouches及其子视图:

tableView.delaysContentTouches = false
tableView.subviews.forEach { ($0 as? UIScrollView)?.delaysContentTouches = false }

1 个答案:

答案 0 :(得分:5)

在tableView上设置delaysContentTouches = false