私がしたい既存のビューの上に: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 コントローラーを表示するにはどうすればよいかということです。