0

UITableViewControllerで表示される で EditPoint を呼び出しましUINavigationControllerUIPopoverController

EditPoint がルートの UITableview である場合もあれば、別のものが EditPoint をUITableviewContollerプッシュする場合もあります。

EditPoint TableViewController で、別の人がそれをビューにプッシュしたかどうか、またはそのルートかどうかを伝える方法はありますか?

EditPoint をプッシュします。

[self.navigationController pushViewController:tableView animated:TRUE];

次に、EditPointで試しました:

DLog(@"self.navigationController.presentingViewController: %@", self.navigationController.presentingViewController);
DLog(@"self.navigationController.presentedViewController: %@", self.navigationController.presentedViewController);

DLog(@"self.presentingViewController: %@", self.presentingViewController);
DLog(@"self.presentedViewController: %@", self.presentedViewController);

それらはすべて NULL を返します。

しかし、私が試してみると:

[self.navigationController popToRootViewControllerAnimated:TRUE];

または他の pop メソッドのいずれか、それは動作します。

なぜ私が何であるかを理解できないのpresentingViewControllerですか?

最終結果として、戻るボタンがあるかどうか、または [キャンセル] というボタンを配置する必要があるかどうかを判断する必要があります。これを理解するためのより良い方法はありますか?

4

1 に答える 1

0

self.navigationController.viewControllersを使用して、self がナビゲーション コントローラー スタックのルート ビュー コントローラーであるかどうかを確認します。使用しているプロパティは、コントローラーがモーダルとして表示されている場合に使用する必要があります。

于 2013-11-06T15:38:26.693 に答える