UITableViewCell обнаружение прокрутки - PullRequest
1 голос
/ 27 марта 2019

У меня есть распознаватель пангестера в пользовательском UITableViewCell, и я хочу отключить его во время прокрутки табличного представления. Можно ли определить в пользовательском UITableViewCell, является ли просмотр таблицы прокруткой?

Ответы [ 2 ]

0 голосов
/ 28 марта 2019

Используйте это расширение для обнаружения определенной прокрутки табличного представления в iOS Swift

extension ViewController: UIScrollViewDelegate {
    func scrollViewDidScroll(_ scrollView: UIScrollView) {
        if scrollView == tableName {
            // write logic for tableview disble scrolling
        }
    }
}
0 голосов
/ 27 марта 2019

Как упомянуто в комментарии @ 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 isScrolling {
        //disable pan gesture
    }
    else {
        //enable pan gesture
    }
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...