web-dev-qa-db-ja.com

前のView Controllerに戻る

UIView->UICollectionView->UICollectionViewCell。私はプログラムでナビゲートしようとしていますが、これらはいずれも機能しません。コードが呼び出しました。 StoryBoardを使用しています。

- (void) goBack:(NSNotification *) notification {
      // [self.navigationController popViewControllerAnimated:YES];
     //  [self dismissViewControllerAnimated:YES completion:nil];
      [self.navigationController popToRootViewControllerAnimated:YES];
}
35
user1688346

以下を使用する必要があります。

[self.navigationController popToRootViewControllerAnimated:YES];

これにより、ルートビューコントローラーに戻ります。

前のView Controllerに戻るには、次を実装する必要があります。

[self.navigationController popViewControllerAnimated:YES];
97
Vineet Singh

以下の行を使用して、親のView Controllerに移動できます

[self.navigationController popViewControllerAnimated:YES]; 

以下の行を使用して、メイン/ルートビューコントローラーに移動できます

[self.navigationController popToRootViewControllerAnimated:YES]; 

以下の行を使用することにより、任意のView Controllerに移動できます

[self.navigationController popToViewController:viewControllerObject animated:YES]; 
17
Madhu

どうですか...

 [self.navigationController dismissViewControllerAnimated:YES completion:NULL];

現在、ナビゲーションベースのコントローラーにいて、ナビゲーションベースのコントローラーに入る前に前のコントローラーに戻りたいと仮定します。

5
Jenn Eve

簡単なコピーペーストのための迅速なソリューション:

navigationController?.popViewControllerAnimated(true)
3
Esqarrouth

Swift3では、

@IBAction func back(_ sender: UIButton) {
    self.dismiss(animated: true, completion: nil)     
}
2
Kris Roofe

Swift 4.1:

navigationController.popViewController(animated: true)
2
Kristian

それを試してみてください....

#import "bookdescriViewController.h" // import here your class name 

- (IBAction)backButton:(id)sender 
{
  bookdescriViewController *previosVC = [[bookdescriViewController alloc]init];
  [self.navigationController popViewControllerAnimated:YES]; // go to previous view controller
  [self.navigationController popToRootViewControllerAnimated:YES]; // go to root view controller
  [self.navigationController popToViewController:previosVC animated:YES]; // go to any view controller
  [previosVC release];
}
2
Chirag Pipaliya
- (void) goBack:(NSNotification *) notification 
{ 
   if(!self.YOrView.isHidden)
      self.YOrView.hidden = YES;
}
0
user2289379

親View Controllerに戻り、現在のView Controller exの割り当てを解除します。

- (void)applicationDidEnterBackground:(NSNotification *)notification
{
    NSInteger numberOfViewControllers = self.navigationController.viewControllers.count;

    UIViewController *vc = [self.navigationController.viewControllers objectAtIndex:numberOfViewControllers - 2];

    [self.navigationController popToViewController:vc animated:NO];
}

または別のView Controller

0
Alan10977