다음 내가 UITableView
에 두 손가락을 슬쩍 넣어 작성한 코드입니다 와이프합니다.
손가락 두 개를 사용하여 UITableView
을 왼쪽/오른쪽으로 스 와이프하면 왼쪽 및 오른쪽 제스처도 역시 SWTableViewCell
발사됩니다.
어떻게 충돌을 막으시겠습니까?jQuery과 슬쩍 제스처 충돌
7
A
답변
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;
}
제스처 위임을 사용하여 해결할 수 있다면이 문제가 해결되기를 바랍니다.
제스처 위임을 사용하여 해결할 수 있다면 [이 과거 ans] (http://stackoverflow.com/a/39806768/4003548)를 찾아서 알아낼 수 있으면 좋겠습니다. – vaibhav
- (BOOL) gestureRecognizer : (UIGestureRecognizer *) gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer : (UIGestureRecognizer *) otherGestureRecognizer { return YES; } –
@HimanshuMoradiya : 이미 완료했습니다. 여전히 문제에 직면 해 있습니다. – Nitish