Вы можете создать подкласс UITableView и переопределить прикосновенияEnded: withEvent :.Этот метод получает удар, когда пользователь отрывает палец.Поскольку вы можете не захотеть отключать взаимодействие с пользователем, когда пользователь просто касается экрана, вы можете зафиксировать начальную точку касания и конечную точку касания.Из этих двух вы можете сравнить дельты Y, чтобы выяснить, сколько вы хотите, чтобы пользователь передвинул, прежде чем отключить взаимодействие с пользователем.Вот код, который поможет вам в этом.
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch * touch = [touches anyObject];
touchStartPoint = [touch locationInView:self];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch * touch = [touches anyObject];
CGPoint touchEndPoint = [touch locationInView:self];
CGFloat deltaY = touchStartPoint.y - touchEndPoint.y;
if (fabsf(deltaY) >= kMinimumYMoved) {
self.userInteractionEnabled = NO;
}
}