2

次の UI 要素があります (太字のラベル)。

根:
-----------------------
UITabBarController (A)
-----------------------
  | |
----------------------------------------------
UIViewController w/ UITableView サブビュー (B)
----------------------------------------------
  | |
-------------------------- -------------------
UITableViewController (C) --> UIViewController (D)
-------------------------- -------------------

A の最初のタブにはBが含まれています。Bの UITableViewCell をクリックすると、pushViewControllerAnimated を使用して、ドリルダウン詳細ビューによく似たCを表示します。最後に、Cで UITableViewCell をクリックすると、 presentViewControllerAnimatedCompletion を使用してDをポップアップ モーダル ビューに表示します。

補足: ADに UINavigationController があります。

Dの閉じるボタンをタップすると、次のようにモーダルが閉じます。

[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];

これはモーダルを正常に閉じていますが、CからBまでずっとバックアウトしています。代わりにCにとどまりたいです。

何か案は?

4

1 に答える 1

-3

私はあなたが呼び出す必要があると思います:

[self dismissViewControllerAnimated:YES completion:nil];

試してみてください。私の推測は、Apple のドキュメントに基づいています。

表示側のビュー コントローラーは、表示されたビュー コントローラーを閉じる役割を果たします。提示されたView Controller自体でこのメソッドを呼び出すと、メッセージが提示元のView Controllerに自動的に転送されます。

したがって、 で却下を呼び出すと、self.presentingViewController. そしたらBが却下!

于 2013-06-11T02:16:37.290 に答える