Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将另一个动画与InteractivePopEstureRecognizer交互转换同步_Ios_Objective C_Uinavigationcontroller_Uiswipegesturerecognizer - Fatal编程技术网

Ios 将另一个动画与InteractivePopEstureRecognizer交互转换同步

Ios 将另一个动画与InteractivePopEstureRecognizer交互转换同步,ios,objective-c,uinavigationcontroller,uiswipegesturerecognizer,Ios,Objective C,Uinavigationcontroller,Uiswipegesturerecognizer,我的应用程序左下角有一个自定义后退按钮。当导航堆栈上不再有视图控制器,而只有根视图控制器时,按钮向下过渡。现在我介绍了iOS7标准的“滑动到弹出”功能,我想根据滑动手势移动视图的距离来进行按钮转换 我已经将我自己的导航控制器作为目标添加到interactivePopGestureRecognizer以接收滑动动作。所以我知道刷卡何时开始、移动(速度、方向和点)以及何时停止。因此,我可以使后退按钮的位置取决于手指在屏幕上的位置,而不会出现问题 问题是,当用户从屏幕上抬起手指时,视图会弹出或返回到其

我的应用程序左下角有一个自定义后退按钮。当导航堆栈上不再有视图控制器,而只有根视图控制器时,按钮向下过渡。现在我介绍了iOS7标准的“滑动到弹出”功能,我想根据滑动手势移动视图的距离来进行按钮转换

我已经将我自己的导航控制器作为目标添加到interactivePopGestureRecognizer以接收滑动动作。所以我知道刷卡何时开始、移动(速度、方向和点)以及何时停止。因此,我可以使后退按钮的位置取决于手指在屏幕上的位置,而不会出现问题

问题是,当用户从屏幕上抬起手指时,视图会弹出或返回到其原始位置。我发现检测这种情况的唯一方法是使用
UINavigationControllerDelegate
方法
-(void)navigationController:(UINavigationController*)navigationController didShowViewController:(UIViewController*)viewController animated:(BOOL)animated
当应用程序返回的视图完全可见(动画已完成弹出)时调用此方法。因此,知道视图是否未弹出的方法是在触摸结束后等待一段时间,如果调用上述方法,这当然不是一个好的解决方案

绝对最好的情况是,如果我能得到有关动画位置和动画完成/反转的通知。另一件需要提及的事情是,我认为近似将是困难的,因为弹出与否的决定不仅取决于手指在释放时的屏幕位置,还取决于速度等


任何提示都将不胜感激

不管怎样,我还是设法解决了这类问题。如果动画完成或未完成,至少会收到通知。我把我的答案贴在了另一个类似的问题上,希望能有所帮助