2012-12-21 17 views
9

Mam ten kodiOS - Push viewController z kodem i storyboard

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

I mogę zmienić widok, ale chciałbym wcisnąć ten pogląd na kiedy wrócę na tej stronie, państwo utrzymuje.

staram się umieścić ten kod:

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

ale nic nie robi.

Dzięki

Odpowiedz

3

Dla storyboardy, należy użyć performSegueWithIdentifier tak:

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

Gdzie? (Przepraszam za niewiedzę) – Xose

+0

Zamiast "[self.navigationController pushViewController: newView animowany: TAK];" powinieneś użyć '[self performSegueWithIdentifer: @" Ty identyfikator "nadawca: self];" – Sumanth

+0

"Brak widocznego @interface deklaruje selektor "performSegueWithIdentifer: sender" " Mam ten błąd – Xose

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

Sprawdź 2 rzeczy,

  1. Twój identyfikator storyboard jest poprawna.

  2. Widok główny ma kontroler nawigacji.

+0

cześć tutaj w miejscu docelowym viewcontroller nie dostaję nawigacji –

+0

@JigneshB: Czy łączysz się z kontrolerem nawigacyjnym? sprawdź 2. punkt, 2. Widok główny ma kontroler nawigacji. –

0

Domyślnie Xcode tworzy standardowy kontroler widoku. najpierw zmienimy kontroler widoku na kontroler nawigacyjny. Wybierz opcję Po prostu wybierz "Edytor" w menu i wybierz "Umieść w", a następnie "Kontroler nawigacyjny" Krok 1. Wybierz Główna tablica opowieści Krok 2. Kliknij "Edytor" na górze aplikacji Xcode. Krok 3. Kliknij "Osadź w"

Xcode automatycznie osadza kontroler widoku za pomocą kontrolera nawigacyjnego.

1

Swift 3.x

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

Zastosowanie:

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

Lub:

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