UITableViewCell滚动检测

问题描述 投票:1回答:2

我在自定义UITableViewCell中有pangesture识别器,我想在表视图滚动期间禁用它。是否有可能在自定义UITableViewCell中检测到表格视图是否滚动?

ios swift uitableview uikit uigesturerecognizer
2个回答
0
投票

正如评论中提到的@ jarvis12,UITableView继承自UIScrollView,你可以利用它的委托方法。

  1. 添加一个全局bool变量,它将作为一个标志来检查当前的滚动状态。 var isScrolling = false
  2. 添加两个UIScrollView委托方法并更新isScrolling变量,如下所示: func scrollViewWillBeginDragging(_ scrollView: UIScrollView) { self.isScrolling = true } func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) { self.isScrolling = false }
  3. 在您的UITableViewCell中,只需添加以下if条件: if isScrolling { //disable pan gesture } else { //enable pan gesture }

0
投票

使用此扩展来检测iOS Swift中的特定tableview滚动

extension ViewController: UIScrollViewDelegate {
    func scrollViewDidScroll(_ scrollView: UIScrollView) {
        if scrollView == tableName {
            // write logic for tableview disble scrolling
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.