我在自定义UITableViewCell
中有手势识别器,我想在表视图滚动期间禁用它。是否可以在自定义UITableViewCell
中检测到表格视图是否在滚动?
答案 0 :(得分:0)
正如@ jarvis12在评论中提到的,UITableView
继承自UIScrollView
,您可以利用其委托方法。
添加一个全局bool变量,该变量将用作检查滚动当前状态的标志。
var isScrolling = false
添加两个UIScrollView
委托方法并更新isScrolling
变量,如下所示:
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
self.isScrolling = true
}
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
self.isScrolling = false
}
在您的UITableViewCell
中,如果有条件,只需添加以下内容:
if isScrolling {
//disable pan gesture
}
else {
//enable pan gesture
}
答案 1 :(得分:0)
使用此扩展名可检测iOS Swift中特定的表格视图滚动
extension ViewController: UIScrollViewDelegate {
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView == tableName {
// write logic for tableview disble scrolling
}
}
}