2015-06-14 17 views
10

Tôi đang cố bật tính năng nhận dạng cử chỉ đồng thời nhưng chỉ cho các cử chỉ UIPinchGestureRecognizerUIRotationGestureRecognizer. Tôi không muốn nó hoạt động cho bất kỳ cử chỉ nào khác. Nếu tôi đặt thuộc tính sau thành true, nó cho phép tất cả các cử chỉ được nhận ra đồng thời, làm thế nào tôi có thể giới hạn nó chỉ xoay và mở rộng?Nhận dạng cử chỉ đồng thời cho các cử chỉ cụ thể

func gestureRecognizer(UIGestureRecognizer,shouldRecognizeSimultaneouslyWithGestureRecognizer:UIGestureRecognizer) -> Bool { 
     return true 
} 

Trả lời

30

Hãy chắc chắn rằng lớp học của bạn thực hiện UIGestureRecognizerDelegate

class YourViewController: UIViewController, UIGestureRecognizerDelegate ... 

Set của cử chỉ delegate để self

yourGesture.delegate = self 

Thêm chức năng đại diện cho bạn lớp

func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool { 
    if (gestureRecognizer is UIPanGestureRecognizer || gestureRecognizer is UIRotationGestureRecognizer) { 
     return true 
    } else { 
     return false 
    } 
} 
+7

Đừng quên tự tạo cho mình một UIGestureRecognizerDelegate – Pbk

+6

và đừng quên đặt YourGesture.delegate = self – budidino

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