С UIPanGestureRecognizer UINavigationController не работает свайп к спине
В cellForRowAtIndexPath
при создании cell
Я также добавил UIPanGestureRecognizer
в cell
и осуществляет всю свою обработку в соответствии с требованием.
И это Tableview
содержится в myViewController
который содержится в UINavigationController
,
С UIPanGestureRecognizer
UINavigationController
Размах к спине не работает.
Как я могу это сделать, когда пользователь начинает проводить с крайней левой стороны телефона, он выполняет UINavigationController swipe to back
не мой жест кастрюли.
-(void)move:(PanGestureRecognizer *)gesture {
CGPoint location = [gesture locationInView:self];
NSIndexPath *swipedIndexPath = [self indexPathForRowAtPoint:location];
TableViewCell *swipedCell = [self cellForRowAtIndexPath:swipedIndexPath];
CGRect cellRect = swipedCell.frame;
if(location.x < 75) {
?????
}
.
.
.
//my pan gesture required functionality
}
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}
1 ответ
Использование requireGestureRecognizerToFail
,
вызов: [yourPanGesture requireGestureRecognizerToFail:self.navigationController.interactivePopGestureRecognizer
в вашем viewController
или же
[cell.gestureRecognizers enumerateObjectsUsingBlock:^(__kindof UIGestureRecognizer * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if ([obj isKindOfClass:[UIPanGestureRecognizer class]]) {
[obj requireGestureRecognizerToFail:interactivePopGestureRecognizer];
}
}];