10

理由はわかりませんdismissViewControllerAnimated:completion:。やりたいだけです。

私はから始めます

[self performSegueWithIdentifier:@"my_segue" sender:self];

しかし、何も起こらないよりも却下と呼んでいますか。別のセグエを作成できますが、新しいビュー コントローラーが作成されます。

私の質問は次のとおりperformSegueWithIdentifier:sender:です。

4

5 に答える 5

31

呼び出しているviewControllerにnavigationBarがありますか:

[self performSegueWithIdentifier:@"my_segue" sender:self];

その場合は、次を使用する必要があります。

[self.navigationController popViewControllerAnimated:YES];

ビューをスタックからポップします。セグエ呼び出しが 1 つありますが、フレームワークは次のように呼び出しているようです。

presentViewController:animated:completion:

また:

pushViewController:animated:

適切に。

レイ

于 2013-04-03T18:28:30.230 に答える
2

あなたはただ電話することができます

[self dismissViewControllerAnimated:YES completion:nil];

ビューコントローラーがセグエによってプッシュされたため、ビューコントローラーから。

于 2016-05-16T21:46:33.423 に答える
0

performSegueWithIdentifier:sender:それ自体は却下されません。これは、名前付きセグエを開始するために呼び出されるメソッドです。セグエで何が起こるかは、より興味深いものです。

を呼び出す必要があるのは正しいです。これは、以前に を使用して提示されたビュー コントローラーを呼び出し提示しdismissViewControllerAnimated:completion:ているビュー コントローラーによって呼び出される必要があります。詳細については、UIViewcontroller のドキュメントを参照してください。presentViewController:animated:completion:

于 2012-04-23T06:41:54.973 に答える
0

[my_segue_view_controller dismissModalViewControllerAnimated: YES]?

(確かではありませんが、私の実践では機能します)

于 2012-04-23T06:02:15.047 に答える