我有一个带有 4 个 UIButtons 的表格单元格 View :
按钮有 Touch Up Inside 事件
@IBAction func increasDealRatingAction(sender:UIButton) {
let buttonPosition = sender.convertPoint(CGPointZero, toView: self.tableView)
if let indexPath = self.tableView.indexPathForRowAtPoint(buttonPosition) {
...
}
}
我对每个单元格都有编辑操作:
func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? {
...
return [addToWishListAction, addToPurchasesAction, deleteAction]
}
问题是,当您向左滑动以显示“添加到愿望 list ”、“删除”星形按钮位置的操作时,点击事件也得到处理,或者在按钮区域滑动时未检测到滑动操作。
最佳答案
向按钮添加滑动手势识别器
let swipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("handleSwipes:")) // nil for selector is also possible
swipeGestureRecognizer.direction = .Left // Add this if you want only one direction
dealRatingButton.addGestureRecognizer(swipeGestureRecognizer)
// Add three star buttons
并实现 gestureRecognizer(_:shouldReceiveTouch:)
返回 false
。
关于ios - 单元格滑动事件和按钮触摸事件内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34652981/