7

다음 내가 UITableView에 두 손가락을 슬쩍 넣어 작성한 코드입니다 와이프합니다.
손가락 두 개를 사용하여 UITableView을 왼쪽/오른쪽으로 스 와이프하면 왼쪽 및 오른쪽 제스처도 역시 SWTableViewCell 발사됩니다.
어떻게 충돌을 막으시겠습니까?jQuery과 슬쩍 제스처 충돌

+0

제스처 위임을 사용하여 해결할 수 있다면 [이 과거 ans] (http://stackoverflow.com/a/39806768/4003548)를 찾아서 알아낼 수 있으면 좋겠습니다. – vaibhav

+0

- (BOOL) gestureRecognizer : (UIGestureRecognizer *) gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer : (UIGestureRecognizer *) otherGestureRecognizer { return YES; } –

+0

@HimanshuMoradiya : 이미 완료했습니다. 여전히 문제에 직면 해 있습니다. – Nitish

답변

1
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{ 
    if (SWTableViewCellTouch) { 
     SWTableViewCellTouch = NO 
     return NO; 
    } 

    return YES; 
} 

SWTableViewCell을 터치하면 BOOL SWTableViewCellTouch를 YES로 설정합니다.

+0

이것은 도움이되지만 여전히 경미한 충돌이있는 것으로 보입니다. 갈등을 피하기 위해 테이블을 강타해야하는 것 같습니다. – Nitish

1

가능한 해결책은 touchesBegan : 메소드에서 BOOl (SWTableViewCellTouch)을 아래처럼 활성화/비활성화하는 것입니다.

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    if ([[event touchesForView:self] count] > 1) { 
    // Its two finger touch so set the BOOL false like 
    SWTableViewCellTouch = NO; 
    } 
    else if ([[event touchesForView:self] count] == 1){ 
    // Its sigle finger touch so set the BOOL true like 
    SWTableViewCellTouch = YES; 
    } 
[super touchesBegan:touches withEvent:event] ;} 

희망이 도움이 될 것입니다. 에서

1

1 구현 UIGestureRecognizerDelegate 당신의 UIViewController

2 설정 leftSwipe.delegate = self; 지금 leftSwipe.delegate = self;

3.의 위임 방법으로는 UISwipeGesture 얼마나 많은 numberOfTouchesRequired

이있는 경우 있는지 확인
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 
    { 
    if ([gestureRecognizer isMemberOfClass:[UISwipeGestureRecognizer class]]) { 

    UISwipeGestureRecognizer *swipeGesture=(UISwipeGestureRecognizer *)gestureRecognizer ; 

    if(swipeGesture.numberOfTouchesRequired!=2) 
    {  
    //if Double not Double Swipe Touch Don't Linsten Gesture in your Viewcontroller 
    return NO; 
     } 
    } 

     return YES; 
    } 

제스처 위임을 사용하여 해결할 수 있다면이 문제가 해결되기를 바랍니다.