Поверх существующего представления я хочу :a )отображать экран для пользователя b )затем отправьте SMS c )отобразить пользователю другой экран.
Для a )я делаю это:
[[UIApplication sharedApplication].delegate.window.rootViewController presentViewController: firstController animated: NO completion:nil];
и для b )я делаю то же самое, за исключением того, что это, конечно, представляет другой vc, MFMessageComposeViewController.
Однако для того, чтобы появился b ), я сначала должен закрыть первый контроллер представления, используя :
[[UIApplication sharedApplication].delegate.window.rootViewController dismissViewControllerAnimated:NO completion: nil];
. Пока это работает, я вижу, как появляется первое представление, а затем вижу, как появляется представление для создания SMS. Когда SMS отправляется, я делаю это, чтобы закрыть окно создания SMS
[[UIApplication sharedApplication].delegate.window.rootViewController dismissViewControllerAnimated:NO completion: nil];
. Но ничего не происходит, когда я пытаюсь представить пользователю другой экран с помощью presentViewController. Я не вижу причин, почему это должно быть, есть что-то, о чем я не знаю?
На самом деле экран перед просмотром SMS и после него одинаков, за исключением того, что они имеют разный текст, поэтому самая простая последовательность шагов будет:
a )представить контроллеру просмотра текст «abc» b )представить контроллер SMS c )при отправке SMS отключить контроллер SMS d )обновить текст в первом контроллере представления, используя IBOutlet e )закрыть первый контроллер представления.
Однако, как упоминалось ранее, если я не отключу первый контроллер представления, контроллер SMS не появится. Итак, мой главный вопрос: как я могу представить контроллер SMS поверх контроллера первого представления?