Полагаю, проблема в том, что вы пытаетесь показать свой новый вид до того, как ваш старый вид закрылся? Я предполагаю, что вы находитесь в родительском контроллере представления, который отображает оба модальных представления, причем он является родительским. Если это так, точка, в которой вы должны отобразить новый модальный вид, - это когда родительский вид полностью завершил скрытие предыдущего модального вида. В частности, это происходит в
- (void) viewDidAppear:(BOOL)animated
Вы хотите убедиться, что вы показываете второй модальный вид только после того, как предыдущий закончил, конечно (то есть не показывать его, когда родительский вид появляется по любой другой причине)