Tôi có UIScrollView dưới UIView trong suốt. Tôi cần phải chuyển tất cả các chảo và vòi đến chế độ xem cuộn (chỉ cuộn theo chiều ngang). UIView thường xuyên sử dụng một lớp con của UIPanGestureRecognizer để theo dõi các ô dọc (Subclass found here). Trong chế độ xem lớp phủ, tôi ghi đè các phương thức sự kiện chạm để chuyển chúng tới UIScrollView.Chuyển thông tin liên lạc tới UIScrollView dưới một UIView
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[super touchesBegan:touches withEvent:event];
[self.scrollView.panGestureRecognizer touchesBegan:touches withEvent:event];
[self.scrollView.singleTapGesture touchesBegan:touches withEvent:event];
}
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
{
[super touchesCancelled:touches withEvent:event];
[self.scrollView.panGestureRecognizer touchesCancelled:touches withEvent:event];
[self.scrollView.singleTapGesture touchesCancelled:touches withEvent:event];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
[super touchesEnded:touches withEvent:event];
[self.scrollView.panGestureRecognizer touchesEnded:touches withEvent:event];
[self.scrollView.singleTapGesture touchesEnded:touches withEvent:event];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
[super touchesMoved:touches withEvent:event];
[self.scrollView.panGestureRecognizer touchesMoved:touches withEvent:event];
[self.scrollView.singleTapGesture touchesMoved:touches withEvent:event];
}
Chế độ xem lớp phủ, khay dọc hoạt động hoàn hảo. Trong UIScrollView, các vòi cũng hoạt động hoàn hảo. Di chuyển mặc dù, không quá nhiều. Cuộn xem cuộn khoảng ba điểm, sau đó dừng lại (khi tôi tiếp tục với pan ngang.) Nếu tôi cho đi với một vận tốc, xem cuộn sau đó chọn vận tốc đó và kết thúc cuộn.
Điều gì sẽ là vấn đề có thể khiến cho chế độ xem cuộn để dừng cuộn sau đó nhận vận tốc?
Giả sử chế độ xem trong suốt cần phản hồi ít nhất một loại liên lạc, chẳng hạn như vuốt hoặc bất kỳ thứ gì. –
Uhmm ... Tôi không biết tại sao di chuyển của bạn dừng lại và nhận vận tốc .. nhưng những gì tôi đã làm là .. Có UIScrollView của tôi xử lý tất cả các sự kiện .. bao gồm cả swipe UIView minh bạch phải xử lý ... và thực hiện một chức năng gọi lại mà vượt qua sự kiện đó để UIView ... cũng vô hiệu hóa userInteractionEnabled trên UIView .. vì vậy UIScrollView hoạt động theo cách nó phải .. nd UIView sẽ xử lý sự kiện duy nhất nó phải vì UIScrollView sẽ bắt nó và vượt qua nó cho UIView ... có thể đã quá muộn để bạn quay lại và thay đổi nó .. nhưng xin lỗi tôi không biết cách khắc phục vấn đề của bạn. – chuthan20