2013-01-16 10 views
18

Aplikacja na iPada, nad którą pracuję, korzysta ze scenorysów i segues. Próbuję wyświetlić inny kontroler widoku, gdy użytkownik kliknie na różne komórki w widoku głównym. po odwołaniu się do różnych ćwiczeń, kroki, które zostały wykonane były -Brak elementu paska nawigacyjnego po stylu segue "Zamień"

  • W Storyboard, Master View Controller, utworzonych statycznych komórek w widoku tabeli i dodano 3 różnych rzędów (tj komórka 1, komórka 2, komórki 3)
  • dodał View Controller, wybrano go i przyłączone do niej Navigation Controller (Editor ->Embed In ->Navigation Controller)
  • z komórki 1 w Master View, zrobiłem ctrl-kliknij Navigation Controller.
  • Wybraliśmy Segue Style "zmiana" i "Szczegóły Destination Podziel"
  • W Tableview: didSelectRowAtIndexPath, dodano [self performSegueWithIdentifier: @ "NewViewController" nadawcy: self] wykonać przejście.

Wynik, który widzę, to widok szczegółów zostaje zamieniony.

Ale pasek nawigacyjny nie ma pozycji przycisku paska Master.

Nie można kliknąć przycisku Master, który będzie zawierał tabelę z komórkami, z której można przejść do innego widoku.

Już czytałem wiele blogów i widziałem komentarze, które mówią o zastąpieniu segue dla podobnych problemów. Jednak wydaje się, że nikt nie zmierzył się z tym konkretnym problemem podczas korzystania ze scenorysów i seguesów.

Z mojego zrozumienia, używając segues, powinno mi pomóc osiągnąć to, co chcę. Od tych, którzy próbowali tego podejścia, pomocne będą wskazania we właściwym kierunku.

+0

* [Co próbowałeś] (http://mattgemmell.com/2008/12/08/what-have-you-tried/)?* – Jules

+0

@Jules To było moje pierwsze pytanie na SO. Pytania, które zadaję w przyszłości, będą wyraźniejsze, mam nadzieję :) – Vinny

+1

Poniższy link ma dobrze opisany problem i udało mi się w pełni zrozumieć, dlaczego element paska nawigacji nie był wyświetlany podczas korzystania ze scenorysów. Sprawdź odpowiedź przez OneMhz Vinny

Odpowiedz

1

Spróbuj zmienić z Replace na Push. To powinno rozwiązać twój problem.

Podczas pchania UIViewController na UINavigationController, zostanie on dodany do stosu i będzie w stanie poruszać się z powrotem:

nawigacji kontrolera stos przed tapping „Fragment”:

Master 

Twój kontroler nawigacyjny po dotknięciu szczegół i nawigowania trochę bardziej ...:

Master -> Detail (Navigation button is displayed) -> Some other details (Navigation button is displayed) -> And maybe some more (Navigation button is displayed) 

Gdy zadzwonisz na nową zmianę, używając Replace, tak jak Ty, Master zostanie zastąpiony przez Detail, a nawigacja nie będzie możliwa, ponieważ Mistrz został zastąpiony i nie jest już na stosie.

nawigacji kontroler stos przed tapping "Fragment":

Master 

Twój kontroler nawigacyjny po dotknięciu szczegół za pomocą zastąpić jak ty:

Detail (no navigation button because master was replaced and we don't have nothing more on the stack)