2015-05-15 17 views
7

Mam dwa widoki jak ten w Story Nadzorczej:iOS: powrót do poprzedniego widoku

[View1] -> [Kontroler nawigacyjny] -> [View2]

Aby przejść z View1 (ma tableview) Aby wyświetlić 2, robię to po kliknięciu rzędu w widoku 1:

self.performSegueWithIdentifier("showmyview2", sender:self) 

To działa.

Teraz mam guzik na widok 2, który po kliknięciu powinien wziąć mnie z powrotem do poprzedniego widoku t j View 1.

Próbowałem to:

navigationController!.popViewControllerAnimated(true) 

Ale to nie działa. Jak wrócić do pierwszego widoku?

+0

Czy Twoim zadaniem jest kontroler pushview lub kontroler presentview? – Mukesh

+0

miuku> nie wiem, gdzie to widzę? NavigationController jest klasą UINavigationController w inspektorze tożsamości. Niestety jestem nowy na iOS, Swift – Jasper

+1

Twój View1 nie znajduje się w hierarchii navigationcontroller, więc nie możesz wywołać popViewController na navigationController, aby powrócić do View1 –

Odpowiedz

30

najpierw dodać kontroler nawigacyjny do Pierwszej view1 poprzez storyboard. (Redaktora> Wstaw kontroler nawigacyjny), Jeśli nawigacja nie jest obecny.

LUB

self.dismissViewControllerAnimated(true, completion: nil); 

wywołać tę funkcję i spróbuj zamiast nawigacji popviewcontroller

+0

Dziękuję, że to zadziałało! – Jasper

+5

** Składnia SWIFT 3.0 ** zmieniła się w ten sposób; 'self.dismiss (animowany: true, complete: zero)' – Trevor

5

użyć tego kodu, aby przedstawić pierwszy wgląd w działanie przycisku:

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
let vc = storyboard.instantiateViewControllerWithIdentifier("FirstView") as! TableViewController 
self.presentViewController(vc, animated: true, completion: nil) 

I nie zapomnij podać identyfikator Twojego pierwszego widzenia.

Wybierz swój pierwszy widok do storyBoard, a następnie kliknij na Identity Inspector i możesz przypisać identyfikator StoryBoard podobny do pokazu poniżej obrazu.

enter image description here

+0

Dharmesh> Po wybraniu widoku1 w scenorysie, nie widzę sposobu na podanie identyfikatora w Inspektorze tożsamości lub Atrybut. – Jasper

+0

Sprawdź moją zaktualizowaną odpowiedź. –

+0

Dzięki Dharmesh - zadziałało. – Jasper

0

self.dismiss (animowany: prawda, realizacja: zero); to zadziała w trybie błyskawicznym 3

Powiązane problemy