Kliknięcie prawym przyciskiem myszy ikony Zakończ powoduje wyświetlenie pustego okna. Nie można przeciągnąć połączenia z naciśniętym klawiszem Ctrl do żadnych elementów IB ani odpowiednich plików źródłowych. Dokumenty nie dają miłości. Nie pojawia się w plikach nib, tylko w scenorysach. Moje założenie jest takie, że jest to konsekwencja płynności, ale nie widzę żadnych nowych metod, aby to wykonać. Ktoś?
100
Odpowiedzi:
W filmie WWDC „Sesja 407 - Adopting Storyboards in your App” jest dużo informacji.
Załóżmy, że masz dwa kontrolery widoku połączone płynnie. Zaimplementuj następującą akcję wyjścia na pierwszym kontrolerze widoku:
Następnie, w scenie Storyboard dla drugiego kontrolera widoku, przeciągnij klawisz Ctrl z elementu interfejsu użytkownika, takiego jak przycisk, do ikony wyjścia u dołu tego kontrolera widoku.
done:
Akcja została dodana do kodu pierwszego kontrolera pojawi się jako opcja. Teraz aktywacja przycisku przeciągniętego przez Ctrl do ikony wyjścia spowoduje powrót do pierwszego kontrolera widoku i zachowanie oryginalnego stanu (tj. Elementy interfejsu użytkownika, takie jak wprowadzanie tekstu, rzekomo nadal nienaruszone).źródło
Done
przycisku w klasie widoku B przed wyjściem z powrotem do widoku A?Trudno mi było zastosować zaakceptowaną odpowiedź, więc tutaj jest więcej szczegółów.
Biorąc pod uwagę poniższe zdjęcie na kontrolerze widoku C, możesz „wyjść” z powrotem do dowolnego kontrolera widoku na ścieżce przejścia.
ViewController A możesz napisać:
ViewController B możesz napisać:
ViewController C kontrolujesz przeciąganie z przycisku "wstecz" do zielonej opcji wyjścia i wybierasz wstecz: ViewController C kontrolujesz przeciąganie z przycisku "gotowe" do zielonej opcji wyjścia i wybierasz gotowe:
Uwaga: Mimo że metody znajdują się na innych kontrolerach widoku, są one wyświetlane dla ViewController C zjazdu „s. Sterowanie przeciąganiem i wybieraniem metody definiuje, do którego ViewController ma się rozwinąć.
źródło
Even though the methods are on other view controllers they show up for the ViewController C's exit.
Jako dodatek do odpowiedzi Erica, oto jak to działaszybki:
Funkcja, którą dodajesz do kontrolera docelowego wygląda następująco:
źródło