用戶可以通過不同的路徑訪問我的應用中的特定視圖控制器。
我想知道用戶到達當前視圖控制器的確切路徑。
任何建議將不勝感激。如何在iOS中的當前視圖控制器之前查找所有視圖控制器?
回答
在當前視圖控制器的viewDidAppear()
,viewWillAppear()
或viewDidLoad()
方法中使用以下代碼。我用它viewDidLoad()方法。
for (int i=0;i<[self.navigationController.viewControllers count];i++)
{
NSLog(@"%d>>>>>>>>>%@",[self.navigationController.viewControllers objectAtIndex:i]);
}
唯一的問題是:你不能跟蹤它,它只是一個控制檯的記錄器。 – prabodhprakash
我只需要檢查用戶瀏覽過的視圖,並在用戶已經通過層次結構中的視圖控制器時顯示標籤。 –
爲您可以添加一個全球或本地位,這將檢查用戶是否通過當前視圖控制器來到 –
我在我的一個項目中遇到了類似的問題,我創建了一個維護一堆ViewController的單例類。每個ViewController負責從堆棧推送和彈出自己。因此,只要我們想要用戶遵循流程,我們就會查詢堆棧。
它對我們來說相當不錯。
您可以通過比較其檢查你的控制器,把你需要的類,而不是「XYZViewController」的
for (UIViewController * aController in self.navigationController.viewControllers)
{
if (aController isKindOfClass:[XYZViewController class])
{
//You can do your work here
}
}
嗯,我在尋找一種可以在所有情況下使用的一般方法。 –
你可以在AppDelegate中設置一個變量並通過它比較所需的一個類 –
@MdIbrahimHassan這個解決方案有什麼問題?你應該接受這個。 –
您可以使用這種方式的導航堆棧結識之前其的viewController在那裏你到達了某個View控制器。
這裏是代碼:
for (UIViewController *vc in self.navigationController.viewControllers) {
NSLog(@"vc desc : %@", vc.description);
}
但是,如果你想顯示的標籤,如果用戶來自某些VC,當其他的ViewController前來VC不顯示的標籤,然後在ViewController中使用一個布爾值,在該布爾值中需要顯示標籤,然後將布爾值設置爲YES,同時從前一個VC推入並檢查該布爾值以顯示標籤。
- 1. 在當前視圖控制器下加載視圖控制器
- 2. 如何在iOS中找到當前視圖控制器
- 3. 在控制器之前執行視圖?
- 4. 關閉當前可視視圖控制器下方的視圖控制器
- 5. 當前視圖控制器關閉視圖控制器後沒有動畫
- 6. 從當前視圖控制器的子視圖控制器導航到詳細信息視圖控制器
- 7. 刷新視圖控制器之前是
- 8. 獲取當前視圖控制器名稱在父視圖控制器
- 9. 當前視圖控制器被示
- 10. 當前的模態視圖控制器 - 與呈現視圖控制器交互
- 11. 當前視圖控制器當前帶有NavigationController的tabBarController
- 12. 如何從導航控制器ios中刪除以前的視圖控制器?
- 13. 如何找到當前加載的視圖控制器?
- 14. 如何找出當前控制器/動作/視圖的名稱?
- 15. 查找當前視圖控制器處於活動狀態
- 16. 現在視圖控制器,而當前視圖控制器具有中的UITabBar一樣,但沒有的UITabBarController
- 17. iOS的「視圖控制器」
- 18. ios-視圖控制器不會在當前方向加載
- 19. 當前模態視圖控制器在最前面的UINavigationController
- 20. 在當前視圖控制器內通過動作方法在視圖控制器之間切換
- 21. 控制器和以前的視圖
- 22. 標籤控制器視圖之前IOS登錄屏幕
- 23. 如何在Tabbar控制器之前顯示登錄視圖?
- 24. 解除視圖控制器不會返回到前一個視圖控制器
- 25. 目前模態視圖控制器
- 26. 如何在iPhone上呈現模態視圖控制器而不使用「當前」視圖控制器?
- 27. 如何給呈現的視圖控制器的當前實例?
- 28. UIAlertViewcontroller在去視圖控制器之前沒有被彈出
- 29. 在當前的故事板中,我如何找到哪個視圖控制器在那裏查看視圖?
- 30. 如何從當前視圖控制器的實現文件加載另一個視圖控制器?
您可以在singelton類中維護一堆ViewControllers。 –