ACB trích dẫn tham chiếu UIGestureRecognizer
. Để làm cho nó một chút cụ thể hơn, giả sử bạn có một cái nhìn với một nhận dạng cử chỉ pan đính kèm, và bạn có những phương pháp trong điều khiển điểm của bạn:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"touchesBegan");
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"touchesMoved");
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"touchesEnded");
}
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"touchesCancelled");
}
- (IBAction)panGestureRecognizerDidUpdate:(UIPanGestureRecognizer *)sender {
NSLog(@"panGesture");
}
Và tất nhiên những cử chỉ recognizer chảo được cấu hình để gửi panGestureRecognizerDidUpdate:
thông điệp.
Bây giờ giả sử bạn chạm vào chế độ xem, hãy di chuyển ngón tay của bạn đủ để cử chỉ di chuyển được nhận dạng và sau đó nhấc ngón tay lên. Ứng dụng in ra sao?
Nếu nhận dạng cử chỉ có cancelsTouchesInView
thiết lập để YES
, ứng dụng sẽ đăng những thông điệp:
touchesBegan
touchesMoved
touchesCancelled
panGesture
panGesture
(etc.)
Bạn có thể nhận được nhiều hơn một touchesMoved
trước khi hủy. Vì vậy, nếu bạn đặt cancelsTouchesInView
thành YES
(mặc định), hệ thống sẽ hủy liên lạc trước khi gửi tin nhắn đầu tiên từ trình nhận dạng cử chỉ và bạn sẽ không nhận được bất kỳ tin nhắn liên quan đến cảm ứng nào nữa cho lần chạm đó.
Nếu nhận dạng cử chỉ có cancelsTouchesInView
thiết lập để NO
, ứng dụng sẽ đăng những thông điệp:
touchesBegan
touchesMoved
panGesture
touchesMoved
panGesture
touchesMoved
panGesture
(etc.)
panGesture
touchesEnded
Vì vậy, nếu bạn đặt cancelsTouchesInView
-NO
, hệ thống sẽ tiếp tục gửi tin nhắn cảm ứng có liên quan cho cảm ứng cử chỉ, xen kẽ với thông báo của trình nhận dạng cử chỉ. Các liên lạc sẽ kết thúc bình thường thay vì bị hủy bỏ (trừ khi hệ thống hủy bỏ các liên lạc cho một số lý do khác, giống như nút home được nhấn trong khi liên lạc).
Nguồn
2012-10-24 03:50:20
Cảm ơn! Khi bạn đặt cancelsTouchesInView thành Không, sự kiện sẽ bị hủy popping phải không? – jebberwocky
Tôi không hiểu ý nghĩa của “hủy popping”. –