簡體   English   中英

UIViewController如何跳轉到祖父母視圖?

[英]UIViewController how to jump to grandparent view?

在此處輸入圖片說明

我有3個視圖,分別稱為A,B和C。它們之間的主題是“模態呈現”。 dismissViewControllerAnimated可用於跳回到父視圖控制器,但是它是否有辦法直接從C跳到A?

如果使用情節提要,則可以使用展開搜索來備份視圖控制器層次結構中的多個步驟。

  1. 在視圖控制器A上以- (IBAction)unwind:(UIStoryboardSegue *)segue的形式定義一個方法。 它需要采用segue作為參數,而不僅僅是任何id發送者。
  2. 在視圖控制器C上方的白條中,將視圖控制器C的segue動作連接到出口代理。 您應該會看到一個彈出菜單,其中顯示了取消選擇選項列表。 選擇您之前定義的那個。

通過遍歷父項並呈現視圖控制器層次結構來放松工作,直到他們找到實現所選方法的控制器為止。 您不必在此方法中放置任何代碼; 僅僅擁有一個空的身體就足夠了。 情節提要找到這種方法后,它將彈出並關閉視圖控制器,直到顯示實現該方法的視圖控制器為止。

如果您想直接跳到A,而A是rootViewcontroller,則可以在C控制器中使用此代碼

self.navigationController?.popToRootViewControllerAnimated(true)

但是,如果要將某些數據從C控制器傳遞到A控制器,則必須使用Segue,所有這些都在navigationController類中提及,請參閱: https : //developer.apple.com/library/ios/documentation/WindowsViews/Conceptual /ViewControllerCatalog/Chapters/NavigationControllers.html

將導航堆棧用於Push和Pop ViewController,如果需要顯示和關閉viewController,則可以嘗試將UIAnimation與Navigation Push和Pop堆棧一起使用,

然后,您可以使用以下代碼輕松導航至Parent ViewController。

[self.navigationController popToViewController:self.navigationController.viewControllers [self.navigationController.viewControllers.count-3]動畫:是];

希望對您有所幫助。 !!!!!

UINavigationController_Class

popToViewController:動畫:

目標-C

   UIViewController *prevVC = [self.navigationController.viewControllers objectAtIndex:IndexViewOfA];
    //you get index of view (A,B,C) from array self.navigationController.viewControllers
    [self.navigationController popToViewController:prevVC animated:YES];

popTOViewController

這可能對您有幫助:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM