我有UITableView
个自定义UITableViewCells
,其中只包含一个文本字段。我想要实现的是,tableview不仅可以通过触摸单元格本身而且可以通过触摸文本字段来滚动。应保留开始编辑的默认文本字段行为。有没有办法区分整个tableview上的滚动手势和文本字段上的点击手势?
我不想在编辑开始时滚动到特定单元格,而是保留默认的tableview滚动行为。
此致
答案 0 :(得分:0)
将delaysContentTouches
的滚动视图上的tableView
属性设置为true / YES
目标-C
self.tableView.scrollView.delaysContentTouches = YES;
SWIFT
tableView.scrollView.delaysContentTouches = true
答案 1 :(得分:0)
我已经通过子类化TableView并覆盖touchesShouldCancel方法以下列方式完成了它。 delayedContentTouches和canCancelContentTouches似乎是必要的
class MyTableView : UITableView {
override init(frame: CGRect, style: UITableViewStyle) {
super.init(frame: frame, style: style)
self.delaysContentTouches = false
self.canCancelContentTouches = true
}
override func touchesShouldCancel(in view: UIView) -> Bool {
if view is UITextField {
return true
}
return super.touchesShouldCancel(in: view)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}