0

私は 3 つのビューを持つ UITabBar で構成されるアプリを持っています。そのうちの 1 つは UITableView です。アプリの起動時に読み込まれる最初のビューは、UITabBar ビュー内に保持されている UIView です。このビューは、ユーザーが入力するフォームであり、ユーザーは 5 つの異なる画面に移動します。以前は、これらをモーダル ビューとして重ねて読み込んでいて、ユーザーが次のように最後のボタンを押すと、最後にそれらをすべて破棄していました。

[self.parentViewController.parentViewController.parentViewController.parentViewController      dismissModalViewControllerAnimated:YES];

ただし、[self.parentViewController dismissModalViewControllerAnimated:YES]機能しなくなり、置き換えられ[self dismissViewControllerAnimated:YES completion:nil];たため、このビューコントローラーの複数の却下を実現する方法がよくわかりません。親View Controllerへの呼び出しを追加しようとしましたが、うまくいきません。私も試しました:

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

しかし、それもうまくいかないようです。アドバイスをいただければ幸いです。コンソールにもメッセージが表示されます。アプリケーション ウィンドウには、アプリケーションの起動の最後にルート ビュー コントローラーが必要です。これが問題の原因ですか?

注意してください、これは私が iOS 向けにプログラミングを行ったのは初めてのことです。私は最近ほとんどの時間を Arduino に費やしており、電子機器とコーディングをやり取りしているので、これは私が行っている少し急な復習コースです。

助けていただければ幸いです。

4

1 に答える 1

1

5 つのビュー コントローラーが UINavigationController にプッシュされている場合、それらはすべて 1 つのコマンドで破棄/ポップできます。

- (NSArray *) popToViewController: (UIViewController *) viewController 
                         animated: (BOOL) animated

[UINavigationController を使用しているようには見えませんが、説明から完全には明らかではありませんでした。]

于 2013-04-07T21:57:51.410 に答える