Ios6 当用户回击时,导航控制器中的transitionWithView的最佳实现
我在NavigationController中有2个UIViewController 第一个是A,在tableView的顶部只有一个UISearchBar作为tableHeader。 第二个,B,在屏幕的上半部分有一个视图,我们称它为定制的TableHeader,在这个视图下面有一个表 我想模拟从UIViewController A推送到UIViewController B时的模式转换FlipFromRight,以及当用户点击navigationItem.backBarButtonItem时从UIViewController B弹出到UIViewController A时的模式转换FlipFromLeft 推动侧没有问题: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
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];
这是一个经过测试的代码。所以它工作得很好。这应该对你有帮助