2016-08-12 167 views
-1

如果我在我的應用程序中使用5個視圖控制器,並且如果我在第5個視圖控制器上,如果我想要按鈕操作回到第二個視圖控制器,應該寫什麼代碼?如何返回查看控制器?

+8

你看的'UINavigationController'的文檔? – rmaddy

回答

1

你唯一能做的就是popToViewController

因此,有以下幾個步驟:

  1. 獲取的UIViewController要回去。
  2. 通過執行諸如self.navigationController.viewControllers之類的操作,從導航控制器中導出所有視圖控制器。
  3. 爲每個循環運行a並在每個循環中添加一個if條件以匹配您希望來自步驟1的視圖控制器。
  4. 使用導航控制器的popToViewController方法。

喜歡的東西如下:

for (UIViewController *vc in self.navigationController.viewControllers) { 
    if ([vc isKindOfClass:[ViewController2 class]]) { 
     [self.navigationController popToViewController:vc animated:NO]; 
    } 
} 
+0

「popToViewController」的第一個參數應該是變量'vc'。 – rmaddy

+0

不需要循環或「if」。只要做'[self.navigationController popToViewController:self.navigationController.viewControllers [1] animated:YES];'。 'viewControllers'數組將按照視圖控制器堆疊的順序排列。 – rmaddy

+0

@rmaddy更正了答案,謝謝指出。是的,我向他建議了for循環,因爲他可能知道要去哪個控制器類,但知道該索引。 – Harsh

相關問題