Изменить:
Хорошо, я думаю, что проблема здесь в модальном бите, так как iPhone действительно не нравится, когда у вас есть 2 вида модальных или даже анимация от одного модального вида к другому.
Они определенно должны быть модальными? Как насчет добавления их в обычный стек навигации?
Вы могли бы сначала добавить представление сообщения в стек (не анимированное), чтобы оно появилось, когда вы вернетесь назад.
Попробуйте это:
Порядок, в котором вы добавляете представления в стек, влияет на порядок, в котором они будут отображаться при отклонении их.
Эта часть добавляет composeController в стек, а затем анимирует сборщик, идущий сверху. Используйте этот код для отображения контроллера выбора (то есть вместо модального диалога):
[self.navigationController pushViewController:composeController animated:NO];
[self.navigationController pushViewController:picker animated:YES];
Затем, когда вы закончите работу со сборщиком, вы можете «вернуть» представление обратно в составитель сообщений:
[self.navigationController popViewControllerAnimated:YES];
Теперь у вас не должно быть ссылок на какие-либо модальные диалоги, оставшиеся в вашем коде. Я считаю, что это должно работать намного лучше, чем модальный, который действительно предназначен для отображения одного вида над другим, а не для переключения с одного вида на другой.
Надеюсь, это поможет!