Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
Ios6 当用户回击时,导航控制器中的transitionWithView的最佳实现_Ios6_Uiviewcontroller_Uinavigationcontroller_Uiviewanimation - Fatal编程技术网

Ios6 当用户回击时,导航控制器中的transitionWithView的最佳实现

Ios6 当用户回击时,导航控制器中的transitionWithView的最佳实现,ios6,uiviewcontroller,uinavigationcontroller,uiviewanimation,Ios6,Uiviewcontroller,Uinavigationcontroller,Uiviewanimation,我在NavigationController中有2个UIViewController 第一个是A,在tableView的顶部只有一个UISearchBar作为tableHeader。 第二个,B,在屏幕的上半部分有一个视图,我们称它为定制的TableHeader,在这个视图下面有一个表 我想模拟从UIViewController A推送到UIViewController B时的模式转换FlipFromRight,以及当用户点击navigationItem.backBarButtonItem时从U

我在NavigationController中有2个UIViewController

第一个是A,在tableView的顶部只有一个UISearchBar作为tableHeader。 第二个,B,在屏幕的上半部分有一个视图,我们称它为定制的TableHeader,在这个视图下面有一个表

我想模拟从UIViewController A推送到UIViewController B时的模式转换FlipFromRight,以及当用户点击navigationItem.backBarButtonItem时从UIViewController B弹出到UIViewController A时的模式转换FlipFromLeft

推动侧没有问题:

UIViewController *vcB = [UIViewController alloc] init];

[self.navigationController pushViewController: vcB animated: NO];

[UIView transitionWithView:self.navigationController.view
           duration:0.8
           options:UIViewAnimationOptionTransitionFlipFromRight
           animations:nil
           completion:nil];
它按预期工作

我在实现pop(从UIViewController B切换回UIViewController A)时遇到问题

我在UIViewController B中添加了以下代码:

 -(void) viewWillDisappear: (BOOL) animated
 {
  [super viewWilDisappear: NO]
  [UIView transitionWithView:self.navigationController.view
           duration:0.8
           options:UIViewAnimationOptionTransitionFlipFromLeft
           animations:nil
           completion:nil];


 }
我可以看到翻转,但我对结果不满意,因为在从B切换到a后的几秒钟内,我仍然可以看到B自定义表格标题,从左边框移动了10个点

我应该在视图中管理从B到A的转换吗?这将消失还是我完全错了? 如果我错了,处理流行动画的正确方法是什么

谢谢


Nicola

你为什么不在你的视图中尝试一下,它会自动消失,并检查是否有效

UIViewController *vcA = [UIViewController alloc] init];

[[self retain] autorelease];

[self.navigationController pushViewController: vcA animated: NO];

[UIView transitionWithView:self.navigationController.view
       duration:0.8
       options:UIViewAnimationOptionTransitionFlipFromLeft
       animations:nil
       completion:nil];
[self.navigationController popViewControllerAnimated:NO];
这是一个经过测试的代码。所以它工作得很好。这应该对你有帮助