2014-05-24 12 views
13

Tôi có một trình nhận dạng cử chỉ trên UIScrollView, tuy nhiên nó hầu như không bao giờ được gọi là UIScrollView ăn tất cả các cử chỉ.Làm thế nào để có cuộn UIScrollView và có trình nhận dạng cử chỉ?

Tôi đã giải quyết vấn đề này với dòng này: [scrollView.panGestureRecognizer requireGestureRecognizerToFail:rightSwipe]; tuy nhiên, dòng này dẫn đến trình nhận dạng của tôi luôn được chấp nhận (hành vi mong muốn) và chế độ xem cuộn không cuộn.

Tức là khi bạn cuộn, trình nhận dạng được chấp nhận nhưng chế độ xem không cuộn.

Tôi làm cách nào để giải quyết vấn đề này hoặc có giải pháp thay thế?

Cảm ơn!

Trả lời

16

Tạo một lớp con của UIScrollView. Thêm phương pháp này trong phân lớp mới của bạn

- (BOOL)gestureRecognizer:(UIPanGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UISwipeGestureRecognizer *)otherGestureRecognizer 
{ 
    return YES; 
} 

Make lớp scrollview của bạn để lớp con scrollview mới của bạn.

4

phương pháp Swift,
Cần thêm UIGestureRecognizerDelegate đến lớp học của bạn:

class ViewController: UIViewController, UIGestureRecognizerDelegate { 

Cần thiết lập đại biểu của mình cho tự:

override func viewDidLoad() { 
    super.viewDidLoad() 
    var scrollView = UIScrollView(frame: self.view.frame) 
    scrollView.delegate = self 
} 

Thêm phần này trong các phương pháp lớp học của bạn để cử chỉ đồng thời tích cực :

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

tôi có vấn đề chính xác, nhưng không có gì tôi cố gắng dường như làm việc. bạn có thể vui lòng xem mã của tôi không? – stanley

+0

bạn có câu hỏi không? – Esqarrouth

+1

Tôi đang tạo giao diện kiểu "google now" và tôi có "thẻ" là tất cả uiviews bên trong một uiscrollerr để cuộn hoặc vuốt khỏi chế độ xem, nhưng không bao giờ cả hai cùng một lúc. tôi đã dành 3 giờ cuối cùng cố gắng triển khai các ví dụ từ stackoverflow nhưng nó không bao giờ hoạt động: ( – stanley

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