web-dev-qa-db-fra.com

iOS - Push viewController à partir du code et du storyboard

J'ai ce code

 PlaceViewController *newView = [self.storyboard instantiateViewControllerWithIdentifier:@"PlaceView"];
 [self presentViewController:newView animated:YES completion:nil];

Et je peux changer de vue, mais je voudrais pousser cette vue pour quand je reviens à cette page, l'état persiste.

J'essaye de mettre ce code:

[self.navigationController pushViewController:newView animated:YES];

mais ne fait rien.

Merci

10
Xose
PlaceViewController *newView = [self.storyboard instantiateViewControllerWithIdentifier:@"storyBoardIdentifier"];
[self.navigationController pushViewController:newView animated:YES];

Vérifiez 2 choses,

  1. votre identifiant de storyboard est correct.

  2. La vue racine possède un contrôleur de navigation.

36
Vineesh TP

Utilisation:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"STORYBOARD_NAME" bundle:nil];
PlaceViewController *newView = [storyboard instantiateViewControllerWithIdentifier:@"PlaceView"];
[self presentViewController:newView animated:YES completion:nil];

Ou: 

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"STORYBOARD_NAME" bundle:nil];
PlaceViewController *newView = [storyboard instantiateViewControllerWithIdentifier:@"PlaceView"];
[self.navigationController pushViewController:newView animated:YES];
4
Alino

Pour les Storyboards, vous devriez utiliser performSegueWithIdentifier comme ceci:

 [self performSegueWithIdentifier:@"identifier goes here" sender:self];
4
Sumanth

Swift 3.x

let viewController = storyboard?.instantiateViewController(withIdentifier: "storyboardIdentifier") as! UIViewController
navigationController?.pushViewController(viewController, animated: true)
2
footyapps27

Par défaut, Xcode crée un contrôleur de vue standard. nous changeons d'abord le contrôleur de vue en contrôleur de navigation. Sélectionnez simplement «Editeur» dans le menu et sélectionnez «Intégrer», puis «Contrôleur de navigation» Étape 1. Sélectionnez Mémoire principale Étape 2.Cliquez sur «Editeur» en haut. de votre application Xcode. Étape 3. Cliquez sur "Intégrer" 

Xcode intègre automatiquement le View Controller avec le contrôleur de navigation.

0