web-dev-qa-db-ja.com

モーダルセグエを介して表示されたビューを閉じる

Storyboardsと次のコード行を使用してXcode 4.2でログインフォームを表示するために、セグエ(モーダルとして設定)を手動で呼び出しています。

[self performSegueWithIdentifier:@"LoginSegue" sender:nil];

おそらく本当にシンプルなものが欠けているのでしょうが、ログインビューをプログラムで閉じて前のビューに戻る方法を見つけることができません。

ビューはNavigation View Controllerの一部であるため、セグエタイプを「プッシュ」に設定すると、戻るボタンを使用して前の画面に戻ることができますが、「モーダル」モードでは、どうすればいいかわかりませんこれを達成する(たとえば、ボタンを押した後)

どんな助けでも大歓迎です。

77
Nick

デプロイメントターゲットがiOS 5.0以降の場合、次のメッセージを使用します。

[self dismissViewControllerAnimated:YES completion:nil];

またはSwiftで:

self.dismissViewControllerAnimated(true, completion: nil)

デプロイメントターゲットが古い場合は、次の(非推奨の)メッセージを使用します。

[self dismissModalViewControllerAnimated:YES];
172
rob mayoff

[self dismissViewControllerAnimated:YES completion:nil];はIOS5の新しい方法です

13
denny

以下は正常に動作するはずです...

[self dismissModalViewControllerAnimated:YES];

最新のチュートリアルはこちら のログインページを使用して、これを正確に行います。問題はありません。

5
Simon

次のコードはSwift 3で動作します:

 self.dismiss(animated: true, completion: nil)
4
Bogdan Razvan