Skip to content

Instantly share code, notes, and snippets.

@dodikk
Created March 31, 2015 08:51
Show Gist options
  • Save dodikk/c63e19a353d8de759db6 to your computer and use it in GitHub Desktop.
Save dodikk/c63e19a353d8de759db6 to your computer and use it in GitHub Desktop.
[bug] UINavigationController Zombie
-(void)navigateToMainMenu:(UINavigationController *)mainMenuViewController
{
id<HJDateOfBirthSurveyLogger> logger = self.dobSurveyLogger;
dispatch_async(dispatch_get_main_queue(), ^void()
{
[logger logNavigatingToMainMenu];
UIWindow *window = [UIApplication sharedApplication].keyWindow;
[UIView transitionFromView: [window.subviews lastObject]
toView: mainMenuViewController.view
duration: 0.7
options: UIViewAnimationOptionTransitionFlipFromLeft
completion: ^(BOOL finished){
window.rootViewController = mainMenuViewController;
}];
[SVProgressHUD dismiss];
});
}
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
BOOL shouldSkipMenu = .....;
if(shouldSkipMenu) {
UIViewController* controller = [self.storyboard instantiateViewControllerWithIdentifier:@"IntroController"];
[self presentViewController:controller
animated:YES
completion:^() {
// invalidate shouldSkipMenu condition
}];
}
}
Warning: Attempt to present <HLJIntroPageViewController: 0x1449c0c00> on <HLJMainMenuViewController: 0x1445f3b80> whose view is not in the window hierarchy!
-(void)dismiss
{
[self dismissViewControllerAnimated: YES
completion: ^void() { /*IDLE*/ } ];
}
2015-03-30 19:17:53.231 healthjoy-branded[604:126441] Presenting view controllers on detached view controllers is discouraged <HLJMainMenuViewController: 0x14671ca00>.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment