【发布时间】:2015-02-26 00:02:08
【问题描述】:
我尝试实现一个使用 Pan Gesture 的简单交互过渡。它看起来像在这个video.
我有使用情节提要的示例项目。该项目位于此link。
但是,如果我将 ViewController 的第 50 行中的“performSegueWithIdentifier ...”替换为第 51 行中注释掉的“pushViewController:controller”。平移手势立即被取消.调用“performSegueWithIdentifier”和“pushViewController:controller”有什么区别。他们基本上只是推送到另一个视图控制器。有什么建议我可以使用 pushViewController 方法调用而不是调用 performSegueWithIdentifier 吗?任何见解将不胜感激。
switch (panGuesture.state)
{
case UIGestureRecognizerStateBegan:
NSLog(@"======================UIGestureRecognizerStateBegan");
[self performSegueWithIdentifier:@"pushNP" sender:panGuesture]; //line 50
[self.navigationController pushViewController:controller animated:YES]; //line 51
break;
case UIGestureRecognizerStateChanged:
NSLog(@"======================UIGestureRecognizerStateChanged");
float percentageOfPan = [self percentageOfPan:touchLocation];
NSLog(@"=======percentageOfPan:%f",percentageOfPan);
[self.transition updateInteractiveTransition:percentageOfPan];
break;
case UIGestureRecognizerStateCancelled:
NSLog(@"======================UIGestureRecognizerStateCancelled");
break;
case UIGestureRecognizerStateEnded:
NSLog(@"======================UIGestureRecognizerStateEnded");
if(touchLocation.y < 600){
[self.transition finishInteractiveTransition];
} else {
[self.transition cancelInteractiveTransition];
}
break;
default:
break;
}
【问题讨论】:
标签: ios transition interactive