How to present a second ViewController & dismiss the first
You would need to first dismiss the "previousView" & then present the "nextQuestionViewController":
// Dismiss the first questionViewController
[previousView dismissViewControllerAnimated:NO completion:nil];
// Animates the next questionViewController using the first questionViewController
[previousView presentViewController:nextQuestionViewController animated:YES completion:nil];
I did next (self - is your old controller):
UIStoryboard *storyboard = self.storyboard;
[self dismissViewControllerAnimated:YES
completion:^{
UIViewController *newController = [storyboard instantiateViewControllerWithIdentifier:@"newControllerStoryboardId"];
newController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:newController animated:YES completion:nil];
}];
try
[self dismissViewControllerAnimated:NO completion:nil];
failing that:
[self.navigationController popViewControllerAnimated:YES];