[英]Pagecontrol gesture conflict with swrevealcontroller?
我已經在表項的我app.On點擊添加swrevealcontroller它會打開一個新的視圖controller.I添加在視圖中的PageControl controller.So 的PageControl的作品第一次平移手勢,但在接下來的時間平移手勢不換頁工作控制。請告訴我如何避免泛手勢的沖突。
- (void)_handleRevealGesture:(UIPanGestureRecognizer *)recognizer
{
NSLog(@"handle pan gesture");
CGPoint velocity = [recognizer velocityInView:self.view]; if(velocity.x > 0)
{
NSLog(@"gesture went right");
}
else
{
NSLog(@"gesture went left");
if(self.isReaveled)
{
switch ( recognizer.state )
{
case UIGestureRecognizerStateBegan:
[self _handleRevealGestureStateBeganWithRecognizer:recognizer];
break;
case UIGestureRecognizerStateChanged:
[self _handleRevealGestureStateChangedWithRecognizer:recognizer];
break;
case UIGestureRecognizerStateEnded:
[self _handleRevealGestureStateEndedWithRecognizer:recognizer];
break;
case UIGestureRecognizerStateCancelled:
//case UIGestureRecognizerStateFailed:
[self _handleRevealGestureStateCancelledWithRecognizer:recognizer];
break;
default:
break;
}
}
}
}
我已經修改了上面的代碼以便工作,但它不起作用。
您首先在視圖控制器中設置了swrevealcontroller的pan手勢的委托,您可以在其中使用pagecontroller。 為此還添加了gesturerecogniser的委托。
比實現GestureRecongnizer的這個委托方法。
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
if (otherGestureRecognizer.delegate == self)
return NO;
if ([[otherGestureRecognizer.view class] isSubclassOfClass:[UIPageViewController class]]) {
NSLog(@"Allow1 %@", [otherGestureRecognizer description]);
return YES;
}
NSLog(@"Deny %@", [otherGestureRecognizer description]);
return NO;
}
希望它會幫助你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.