Czy ktoś może mi wyjaśnić, jaka jest dokładna różnica między modal
i push
segregować?
Wiem, że kiedy korzystamy push
z segue, dodaje się go do stosu, więc kiedy push
go używamy , wciąż zajmuje pamięć?
Czy ktoś może mi pokazać, jak te dwa są realizowane?
Modal
segues można utworzyć, po prostu ctrl-clickprzeciągając do miejsca docelowego, ale kiedy to robię z push
moją aplikacją ulega awarii.
Naciskam z przycisku do, UINavigationController
który ma UIViewController
.
źródło
Aktualizacja Swift 3.0 i XCode 8.2.1
1. Naciśnij Segue
Nazwa push segue została zmieniona na Show segue. Aby utworzyć segment push, nadrzędny kontroler widoku musi być osadzony w kontrolerze nawigacyjnym. Kontroler nawigacyjny udostępnia pasek nawigacji. Po podłączeniu dwóch kontrolerów widoku z funkcją push segue kontroler widoku potomnego automatycznie wyświetli pasek nawigacji u góry. Kontroler widoku potomnego zostanie dodany na górze stosu nawigacji.
Push segue zapewnia również funkcje domyślne. Kontroler widoku potomnego będzie miał przycisk Wstecz, który umożliwia powrót do kontrolera widoku nadrzędnego. Możesz także przesunąć palcem w prawo, aby otworzyć kontroler widoku potomnego. Animacja dla push segue przypomina przesuwanie stron w poziomie.
Chociaż możesz utworzyć segregację wypychania z kontrolera widoku, który nie znajduje się w kontrolerze nawigacyjnym, stracisz wszystkie funkcje, takie jak pasek nawigacji, animacja, gest itp. W takim przypadku należy najpierw osadzić nadrzędny kontroler widoku w kontrolerze nawigacyjnym, a następnie ustawić wypychanie na kontrolery widoku podrzędnego.
2. Segment modalny
Z drugiej strony, segment modalny (tj. Obecny modalnie) prezentuje się nad bieżącym kontrolerem widoku. Kontroler widoku potomnego nie odziedziczy kontrolera widoku nawigacji, więc pasek nawigacji zostanie utracony, jeśli zaprezentujesz segregację modalną z kontrolera widoku z kontrolerem widoku nawigacji. Musisz ponownie osadzić kontroler widoku potomnego w kontrolerze nawigacyjnym i uruchomić nowy stos nawigacji, jeśli chcesz go z powrotem. Jeśli chcesz wrócić do nadrzędnego kontrolera widoku, musisz to zaimplementować samodzielnie i zadzwonić
dismiss
z kodu.Animacja dla segmentu modalnego polega na tym, że kontroler widoku potomnego pojawi się u dołu strony. W tym demo zniknął również kontroler widoku nawigacji
źródło
Widok push musi być wbudowany w
navigationController
.Kliknij swój
master view
, a następnie na pasku menu wybierz:źródło
pushView
można go również zbudować BEZ,navigationController
a ta odpowiedź jest niepełna!Jest to wypychanie elementów sterujących za pomocą niestandardowych metod wypychania i segregowania w serii ujęć
A Modal to sposób poruszania się po widokach bez użycia Storyboardów.
źródło