簡體   English   中英

滑動手勢識別器不會觸發方法調用

[英]Swipe gesture recognizers not triggering method call

我在viewDidLoad中添加了幾個滑動手勢識別器,但是未調用指定的選擇器:

UISwipeGestureRecognizer *swipeGestureRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleRightSwipe:)];
swipeGestureRight.numberOfTouchesRequired = 1;
swipeGestureRight.direction = (UISwipeGestureRecognizerDirectionRight);
[self.scrollView addGestureRecognizer:swipeGestureRight];

UISwipeGestureRecognizer *swipeGestureLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleLeftSwipe:)];
swipeGestureLeft.numberOfTouchesRequired = 1;
swipeGestureLeft.direction = (UISwipeGestureRecognizerDirectionLeft);
[self.scrollView addGestureRecognizer:swipeGestureLeft];

如果我將選擇器更改為@selector(crashAtRunTimeWithUndefinedMethod :),則不會發生任何事情。 視圖控制器繼承自UIGestureRecognizerDelegate。 上面的代碼中未完成設置手勢識別器的委托,但添加了手勢並將其設置為self並沒有任何區別。

scrollView是控制器主視圖的子視圖,但是我嘗試將目標更改為主視圖,這也沒有任何區別。

UIScrollView已經具有預先配置的手勢識別器,可以檢測滑動(以及其他手勢,例如平移)。 記錄包含UIScrollView手勢識別的數組,您將看到它們。

不是您不能向UIScrollView添加其他手勢識別器,而是必須小心。 在我自己的應用程序中,我毫無問題地向UIScrollView添加了輕擊手勢識別器,因為它不與任何預配置的手勢識別器競爭。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM