Я использую UITableView в своем коде, и было бы неплохо узнать, вручную ли пользователь прокрутил UITableView, или это было сделано программно. Есть ли способ узнать это?
Как узнать, выполняется ли прокрутка UITableView вручную (вручную) или программно?
Ответ 1
UITableView является подклассом UIScrollView. поэтому вы можете использовать этот
if (!tableView.isDragging && !tableView.isDecelerating)
{
// the table is *not* being scrolled
}
это работает. Я использую его в одном из моих приложений.
Ответ 2
Вы можете реализовать следующий метод UIScrollViewDelegate, чтобы узнать про прокрутку представления в таблице:
- (void)scrollViewWillBeginDragging:(UIScrollView *)activeScrollView
Не забудьте включить это тоже...
@interface YourViewController : UIViewController <UIScrollViewDelegate>
Надеюсь, это поможет, приветствует:)
Ответ 3
Вы можете активировать распознаватель крана, обнаруживая все зафиксированные касания.
Если прокрутка tableview прокручивается, но при этом не задействованы тангенции, она должна ее покрывать.
Ответ 4
Лучший метод, который я нашел, заключается в использовании свойства isTracking
, а не isDragging
.
if tableView.isTracking && tableView.isDecelerating {
// Table was scrolled by user.
}