我的应用程序的根视图控制器,我想在注册过程中为新的应用程序状态设置动画。我在之前的应用程序中做了类似的事情,用户左右滑动,我可以按需推送和弹出动态视图控制器,左右动画没问题。但是,在这个应用程序中,使用几乎相同的代码我得到一个重复的视图控制器。导航根视图控制器具有视图控制器A可见,如果我实例化视图控制器B并尝试对其进行动画处理,则可见的视图控制器A将立即被视图控制器B替换(无动画)并动画为秒查看控制器B:
UINavigationController *mainNavigationController = (UINavigationController*)self.window.rootViewController;
UIViewController *nextViewController = nil;
//UIViewController *currentViewController = [mainNavigationController visibleViewController];
if ([[[NSUserDefaults standardUserDefaults] stringForKey:K_APP_USERNAME] isEqualToString:@""]) {
nextViewController = [self viewControllerForId:USERNAME_VIEW_CONTROLLER];
}
[mainNavigationController setViewControllers:@[nextViewController] animated:YES];
就像我说的,这就是我在以前的应用程序中做到的方式,并且它有效,任何想法为什么这次都在烦恼?谢谢!
答案 0 :(得分:0)
代码被调用两次,因此视图控制器被两次推送到导航控制器。
:(