我有一个自定义按钮,它被添加到静态单元格中。不管怎样,每当我点击按钮时,它都不会像按钮被添加到普通普通视图那样立即做出反应。
点按时,它会立即注册水龙头,但在更改之前背景颜色稍有延迟。
要更改颜色,我在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 }
答案 0 :(得分:5)
在tableView上设置delaysContentTouches = false
。