Tôi có di chuyển dọc UIScrollView
. Tôi cũng muốn xử lý chảo ngang trên nó, trong khi cho phép các hành vi di chuyển dọc mặc định. Tôi đã đặt UIView
trong suốt qua chế độ xem cuộn và thêm trình nhận dạng cử chỉ di chuyển vào đó. Bằng cách này tôi có thể nhận được các chảo chỉ tốt, nhưng sau đó xem di chuyển không nhận được bất kỳ cử chỉ.Ngăn chặn cử chỉ di chuyển qua UIScrollView ngắt cuộn
tôi đã thực hiện các UIPanGestureRecognizerDelegate
phương pháp sau đây, hy vọng sẽ hạn chế nhận dạng cử chỉ của tôi để chỉ chảo ngang, nhưng điều đó không giúp:
- (BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)gestureRecognizer
{
// Only accept horizontal pans here.
// Leave the vertical pans for scrolling the content.
CGPoint translation = [gestureRecognizer translationInView:self.view];
BOOL isHorizontalPan = (fabsf(translation.x) > fabsf(translation.y));
return isHorizontalPan;
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return (otherGestureRecognizer == _scrollView.panGestureRecognizer);
}
Các bạn đã thử '[panGesture setCancelsTouchesInView: NO];'? Chỉ cần trả về YES trong 'shouldRecognizeSimultaneouslyWithGestureRecognizer' có thể giúp bạn tìm ra vấn đề ở đâu. –
Chỉ cần thử nó, không có sự khác biệt. – Macondo2Seattle