我对两个视图之间的uinavigationController动画有一个小问题。
我的应用程序构建了两个以上的视图,
第一个视图包含登录信息,第二个视图包含根菜单,最后一个视图包含示例数据等。
my mainwindow.xib包含一个uinavigationcontroller组件,该组件包含所有导航结构。
当我的登录视图加载时,我使用这行代码
- (void)viewWillAppear:(BOOL)animated {
[self.navigationController setNavigationBarHidden:YES animated:NO];
}
隐藏uinavugationContoller(登录时不需要向用户显示导航栏)。
之后,当用户执行登录视图上的登录提交按钮时
我使用此代码将rootmenuView推送到uinavigationcontroller的堆栈。
RootMenuController *rootMenuController = [[RootMenuController alloc] initWithNibName:@"RootMenuController" bundle:0];
[self.navigationController pushViewController:rootMenuController animated:NO];
[rootMenuController release];
它工作得很好。当rootmenuView加载的用户必须显示导航栏时,我将使用此代码显示uinavigation的工具栏。
- (void)viewDidAppear:(BOOL)animated {
[self.navigationController setNavigationBarHidden:NO animated:YES];
}
但是我不喜欢uinavigationController的默认动画转换,然后我用下面的代码更改了上面的代码
[UIView beginAnimations:@"View Flip" context:nil];
[UIView setAnimationDuration:0.50];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationTransition:
UIViewAnimationTransitionFlipFromRight
forView:self.navigationController.view cache:YES];
RootMenuController *rootMenuController = [[RootMenuController alloc] initWithNibName:@"RootMenuController" bundle:0];
[self.navigationController pushViewController:rootMenuController animated:NO];
[UIView commitAnimations];
[rootMenuController release];
它也在工作,但是uinavigationcontroller在两个视图转换之间闪烁。
我没有解决这个问题。
有什么建议吗?
谢谢你