Tôi đang cố xóa ba trình nhận dạng cử chỉ được đính kèm với chế độ xem trước.cách xóa hoàn toàn trình nhận dạng cử chỉ
tôi liệt kê chúng sử dụng
NSArray * activeScrollViewGRecs = [theScrollView gestureRecognizers];
NSLog (@"activeScrollViewGRecs count: %d",[activeScrollViewGRecs count]);
tôi nhận được ba trong danh sách.
Sau đó, tôi loại bỏ chúng với:
for (UIGestureRecognizer *recognizer in activeScrollViewGRecs)
{
NSLog (@"recognizer: %@",recognizer.description);
recognizer.enabled = NO;
[theScrollView removeGestureRecognizer:recognizer];
}
Sau đó, tôi liệt kê chúng một lần nữa, và có được một số zero. Họ nên được đi/gỡ bỏ, phải không? Tại sao sau đó chế độ xem sẽ tiếp tục phản hồi (và các phương thức cử chỉ được gọi) đến cùng một lần chạm/vuốt. Có một loại cơ chế "đỏ bừng" nào cần phải xảy ra trước khi chúng biến mất không?
đây là cách họ được tạo ra:
tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handle1:)];
tapGesture.cancelsTouchesInView = NO; tapGesture.delaysTouchesEnded = NO;
tapGesture.numberOfTouchesRequired = 2; tapGesture.numberOfTapsRequired = 2;
[self.view addGestureRecognizer:tapGesture]; [tapGesture release];
swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handle2:)];
swipeGesture.cancelsTouchesInView = NO; swipeGesture.delaysTouchesEnded = NO; swipeGesture.delegate = self;
swipeGesture.direction = UISwipeGestureRecognizerDirectionLeft;
[self.view addGestureRecognizer:swipeGesture]; [swipeGesture release];
nhờ
Bạn đã đặt điểm ngắt trên các phương pháp cử chỉ đó để xác minh xem chúng có thực sự bị sa thải ngay cả khi bạn đã xóa cử chỉ không? – Jeremy
tốt, các phương pháp phản hồi chúng vẫn được gọi. tức là - (void) handleTouchesOne: (UITapGestureRecognizer *) công nhận) ... vì vậy công cụ vẫn đang xảy ra trên màn hình. – TrekOnTV2017
Thú vị. Tôi đã thấy điều này xảy ra trong trường hợp một cử chỉ bị rò rỉ bằng cách nào đó. – Jeremy