2012-05-25 30 views
13

Tôi có UIViewparentView thực hiện một số UITapGuestureRecognizer và thực hiện điều gì đó khi nhấn vào. parentView có chế độ xem phụ được gọi là childView cũng thực hiện một số UITapGuestureRecognizer và thực hiện điều gì đó khi nhấn vào.Tắt tính năng nhận chạm từ chế độ xem gốc trên màn hình con

Có một ví dụ khi tôi phải tắt childViewsUITapGestureRecognizer trong một hình ảnh động trong một khoảnh khắc nhẹ, và tôi nhận thấy khi nó được tắt và tôi khai thác childView, vòi nước bị chặn bởi parentView. Ngoài ra, tôi có một thanh công cụ gắn vào đầu của quan điểm này mà không có bất kỳ nhận dạng cử chỉ gắn liền với nó, và nó chạm được thông qua parentView (các nút sẽ hầu như không hoạt động). Tôi tự hỏi là nó có thể vô hiệu hóa điều này mà không có một tham chiếu đến các phụ huynh UITapGestureRecognizer?

Tôi đã thử sử dụng thuộc tính exclusiveTouches của UIView được đặt thành có và không hoạt động. Mọi lơi đê nghị đêu nên được đanh gia cao.

Trả lời

23

Trong bên nhận cử chỉ phụ huynh, thực hiện UIGestureRecognizerDelegate, và thực hiện các phương pháp sau đây:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 
{ 
    if ([touch.view isKindOfClass:[ClassThatYouWantTouchesBlocked class]]) 
    { 
     return NO; 
    } 
    else 
    { 
     return YES; 
    } 
} 

Thay ClassThatYouWantTouchesBlocked với lớp mà bạn muốn chạm nó sẽ bị loại bỏ.

1

Điều gì xảy ra nếu không bao giờ tắt trình nhận dạng cử chỉ của ChildView? nếu nó hoạt hình trở lại từ phương pháp cử chỉ chạm của trẻ mà không làm gì cả.

Nếu ảnh là imageView hơn isAnimating thuộc tính có thể được sử dụng.

+0

Tôi có thể biết Tại sao bỏ phiếu xuống? –

+0

Câu trả lời hợp lệ - Tôi sẽ upvote. Những người downvote mà không có lời giải thích là một blight để stackoverflow.com. – Cthutu

+0

Đánh giá cao nỗ lực Warif nhưng đã bị bỏ qua vì nó không trả lời câu hỏi, nó đang cố gắng thay đổi câu lệnh vấn đề. Và @Cthutu, tôi muốn nói rằng bạn đang gặp nhiều vấn đề hơn với stackoverflow.com vì đã bỏ phiếu vì tôi không giải thích. –

Các vấn đề liên quan