I have a tab view controller which has a button like so and when it gets pressed a modal appears:
PostViewController *post = [[PostViewController alloc] init];
// [self.navigationController pushViewController:post animated:YES];
// Presentation
[self presentViewController:post animated:YES completion:nil];
When the modal is done I want to dismiss it and push a new view controller like so:
ProfilesViewController *profile = [[ProfilesViewController alloc] init];
[self.navigationController pushViewController:profile animated:YES];
But I can't do it in the post vc as its a modal. How do I do this?
You can try using completionBlock
.
CompletionBlock
is called when presentViewController is done.
PostViewController *post = [[PostViewController alloc] init];
[con presentViewController:post animated:YES completion:^{
ProfilesViewController *profile = [[ProfilesViewController alloc] init];
[self.navigationController pushViewController:profile animated:YES];
}];
More information about presentViewController:animated:completion:
Apple Doc
completion : The block to execute after the presentation finishes. This block has no return value and takes no parameters. You may specify nil for this parameter.
Dose your tab view controller embedded in a UINavigationController? If you have not, you of course cannot use self.navigationController.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With