2012-12-21 13 views
9

Ho questo codiceiOS - Spingere viewController dal codice e storyboard

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

E posso cambiare immagine, ma vorrei spingere questo punto di vista per quando torno a questa pagina, lo stato persiste.

cerco di inserire questo codice:

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

ma non fa nulla.

Grazie

risposta

3

Per Storyboard, si consiglia di utilizzare performSegueWithIdentifier in questo modo:

[self performSegueWithIdentifier:@"identifier goes here" sender:self]; 
+0

Dove? (Scusate se non lo sapete) – Xose

+0

Invece di '[self.navigationController pushViewController: newView animato: YES];' dovreste usare '[self performSegueWithIdentifer: @" Identificatore identificativo "mittente: self];' – Sumanth

+0

"Nessun visibile @interfaccia dichiara selettore 'performSegueWithIdentifer: sender' " Ho questo errore – Xose

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

Controlla i 2 cose,

  1. l'identificativo storyboard è corretta.

  2. La vista radice dispone di controller di navigazione.

+0

Ciao qui nella destinazione viewcontroller non ottenere la navigazione –

+0

@JigneshB: Ti connetti con il controller di navigazione? controllare il secondo punto, 2. La vista radice ha un controller di navigazione. –

0

Per impostazione predefinita, Xcode crea un controller di visualizzazione standard. per prima cosa modifichiamo il controller della vista sul controller di navigazione. Selezionare la voce "Editor" nel menu e selezionare "Incorpora in", seguito da "Controller di navigazione" Passaggio 1. Selezionare Main story story Passaggio 2.Fare clic su "Editor" nella parte superiore dell'applicazione Xcode. Passo 3. Fai clic su "Incorpora In"

Xcode incorpora automaticamente il View Controller con il Navigation Controller.

1

3.x Swift

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

Usa:

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

Oppure:

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