簡體   English   中英

滑動和平移手勢重疊

[英]swipe and pan gesture overlap

是否可以讓特定手勢失敗,以便識別下一個可能的手勢?

更具體一點,請查看示例代碼段:

UISwipeGestureRecognizer *swipeLeft = [initialize UISwipeGestureRecognizer... @selector(handleSwipe:)]

swipeLeft = UISwipeGestureRecognizerDirectionLeft;

swipeLeft.delegate = self;

UIPanGestureRecognizer *pan = [initialize UIPanGestureRecognizer... @selector(handlePan:)]

pan.delegate = self;

[pan requireGestureRecognizerToFail:swipeLeft];

上面的代碼指出,如果設備無法識別向左滑動,則將使用平移手勢處理程序。

所以我的問題:是否有可能讓swipeLeft故意失敗(在被設備識別為滑動左觸摸之后)基於在handleSwipe上檢查的一些標准,並讓平移手勢處理觸摸輸入?

謝謝。

在這里查看UIGestureRecognizerDelegate協議:

https://developer.apple.com/library/ios/documentation/uikit/reference/UIGestureRecognizerDelegate_Protocol/Reference/Reference.html

具體來說,

gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:

方法可能有用。 如果您只是從此方法返回YES ,則可以同時識別這兩個手勢,因此您可以對兩者進行適當的響應。

假設您為平移手勢實現了一些其他處理程序,那么您不能這樣做:

-(void)handleSwipe:(id)sender {

    if //criteria is met to ignore left swipe
    {
        [self handlePan:self];   
    }
}

-(void)handlePan:(id)sender {

    // handle pan gesture here

}

暫無
暫無

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

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