我在自定义UITableViewCell
中有pangesture识别器,我想在表视图滚动期间禁用它。是否有可能在自定义UITableViewCell
中检测到表格视图是否滚动?
正如评论中提到的@ jarvis12,UITableView
继承自UIScrollView
,你可以利用它的委托方法。
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条件:
if isScrolling {
//disable pan gesture
}
else {
//enable pan gesture
}
使用此扩展来检测iOS Swift中的特定tableview滚动
extension ViewController: UIScrollViewDelegate {
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView == tableName {
// write logic for tableview disble scrolling
}
}
}