I\'m about creating an app using a UINavigationController to present the next view controllers.
With iOS5 there´s a new method to presenting UIViewControl
Since iOS 7.0,you can use UIViewControllerTransitionCoordinator to add a push completion block:
UINavigationController *nav = self.navigationController;
[nav pushViewController:vc animated:YES];
id coordinator = vc.transitionCoordinator;
[coordinator animateAlongsideTransition:^(id _Nonnull context) {
} completion:^(id _Nonnull context) {
NSLog(@"push completed");
}];