Если вы хотите, чтобы ваша иерархия UIViewController работала так же, как в случае UINavigationController, вам следует
A) показать ваш новый ViewController с этим вызовом
//This code should be implemented in viewControllerA
[self presentModalViewController:viewControllerB animated:YES]
B) вернуться на один шаг назад, позвонив
//This code should be implemented in viewControllerA
[self dismissModalViewControllerAnimated:YES]
Примечания. Вы можете сказать viewControllerA, что хотите закрыть viewControllerB, отправив NSNotification. Хорошая вещь в этом заключается в том, что если вы хотите перейти от viewControllerC к viewControllerA, вы просто отправляете уведомление viewControlerA для dismisModalViewController, и оно рекурсивно отклонит viewControllerC и viewControllerB для вас.
Надеюсь, это поможет