アプリ内の特定のビューコントローラにアクセスするためにユーザーが取ることのできるパスは異なります。
現在のView Controllerにアクセスするためにユーザーが使用した正確なパスを知りたい。
どのような提案も高く評価されます。iOSの現在のビューコントローラの前にすべてのビューコントローラを見つける方法は?
答えて
現在のビューコントローラのviewDidAppear()
,viewWillAppear()
またはviewDidLoad()
メソッドでは、次のコードを使用します。私はそれを私のviewDidLoad()メソッドを使用している。
for (int i=0;i<[self.navigationController.viewControllers count];i++)
{
NSLog(@"%d>>>>>>>>>%@",[self.navigationController.viewControllers objectAtIndex:i]);
}
これは唯一の問題です:あなたはそれを追跡することはできません、それはコンソールの単なるロガーです。 – prabodhprakash
ユーザが経験したビューをチェックするだけで、階層内のビューコントローラを使っている場合はラベルを表示するだけです。 –
の場合は、ユーザーが現在のビューコントローラを経由してきたかどうかを確認するグローバルビットまたはローカルビットを追加することができます –
私のプロジェクトで同様の問題が発生し、ViewControllersのスタックを保持するシングルトンクラスを作成しました。各ViewControllerはスタックからのプッシュとポップを担当します。したがって、ユーザが追跡したフローを持っていたいときはいつでもスタックに問い合わせました。
とてもうまく機能しました。
あなたはそれを比較することで、あなたのコントローラを確認することができ、「XYZViewController」のではなく、ご希望のクラスを入れ
for (UIViewController * aController in self.navigationController.viewControllers)
{
if (aController isKindOfClass:[XYZViewController class])
{
//You can do your work here
}
}
まあ、私はすべての状況で使用できる一般的なアプローチを探していました。 –
AppDelegateで変数を設定し、それを使って目的の1つのクラスを比較することができます –
@MdIbrahimHassanこのソリューションに何が問題なのですか?あなたはこれを受け入れるべきです。 –
あなたはViewControllerをの前にあるかを知ることを得るために、このようにナビゲーションスタックを使用することができます特定のViewコントローラに到達します。ここで
がコードです:
for (UIViewController *vc in self.navigationController.viewControllers) {
NSLog(@"vc desc : %@", vc.description);
}
しかし、あなたは、ユーザーが特定のVCから来て、他のViewControllerからVCに来たときにラベルを表示しない場合は、ラベルを表示したい場合は、その後、ラベルを表示する必要があるViewControllerのブール値を使用し、ブール値をYESとして設定し、以前のVCからプッシュしてブール値をチェックしてラベルを表示します。
- 1. タブバーコントローラは、現在のビューコントローラios
- 2. 初期ビューコントローラが表示される前の現在のビューコントローラ
- 3. UIPageViewController現在のビューコントローラ
- 4. Swift:現在のビューコントローラは他のビューコントローラと同じコンテキストですか?
- 5. 現在のビューコントローラの別のuiviewcontrollerのテーブルビューをリロードする方法
- 6. 現在の方法は空白のビューコントローラを示します
- 7. は、ビューコントローラのiOS
- 8. ビューコントローラからすべてのビューコントローラにビューを追加する方法
- 9. ページビューコントローラで現在のビューコントローラを取得する方法
- 10. 1つのビューコントローラから別のビューコントローラにデータを渡す。 iOS <= 4対iOS 5
- 11. タブバを持つアプリケーションデリゲートの現在のビューコントローラ - >ナビコントローラ - >階層の表示 - iOS Swift
- 12. 1つのビューコントローラから別のビューコントローラにテキストを転送する方法
- 13. IOSビューコントローラの通信
- 14. 別のビューコントローラで1つのビューコントローラのボタンを無効にする
- 15. Swift:現在のビューコントローラの下のビューコントローラに情報を渡すにはどうすればよいですか?
- 16. どのビューコントローラから別のビューコントローラに来ているか確認する方法
- 17. 移行方法1つのビューコントローラから別のビューコントローラへとフェードする
- 18. 実行中のテストの現在の名前を見つける方法は?
- 19. 2つのビューコントローラとスパゲッティを避ける
- 20. のiOS:取り外したビューコントローラにビューコントローラを提示presentViewControllerエラーが
- 21. 1つのタブバーアイテムに2つのビューコントローラを追加する方法
- 22. iosアプリケーションのすべてのビューコントローラの同じボタン
- 23. ビューコントローラの現在のスケールを取得する
- 24. iOS - ストーリーボードの特定のビューコントローラとタブをリンクする方法
- 25. Erlang - 実行時に現在の関数の名前を見つける方法
- 26. どのビューコントローラがビューコントローラを提示したかを知る方法
- 27. ボタンを介して1つのビューコントローラから別のビューコントローラにプッシュセグを送る方法は?
- 28. popoverpresentationビューコントローラから別のビューコントローラへナビゲートする方法
- 29. iOSテーブルビューとビューコントローラ
- 30. iOS別のビューコントローラにプッシュするget stuck
シングルトンクラスでViewControllersのスタックを維持することができます。 –