Ustawienia: Mam zestaw scenorysów, z dwoma prostymi kontrolerami widoku A i B. Jest przycisk w A, który przechodzi do B z modalnym segue. B jest pokazane z przejściem modalnym na górze A. Jest w porządku.Jak odrzucić modal, który został zaprezentowany w UIStoryboard z modalnym segue?
Pytanie: czy istnieje sposób na oderwanie się od B i powrót do A za pomocą prostej magii?
Należy zauważyć, że jeśli to wszystko było w kontrolerze nawigacyjnym, a ja użyłem pchnięcia, to byłoby domyślnie zajęte przez kontroler nawigacyjny. Pojawi się przycisk "Wstecz". Nie ma nic porównywalnego z modalnościami, muszę zbudować interfejs, co jest w porządku, ale zastanawiam się, czy istnieje mechanika typu "segue", której mogę użyć, aby zasygnalizować powrót z B do A.
Teraz metoda oldskool do zbudowania wracając z b do a byłoby:
- utworzyć właściwość delegata na b
- zbiór a będzie delegatem b gdy modalne segue przejście odtwarza (mogę podpiąć do tego używając prepareForSegue: nadawca: w na kod)
- kiedy nadszedł czas na odwołanie, B przekazuje swojemu delegatowi
- A implementuje metodę delegowania, która odwołuje B
Działa, ale wydaje się zbyt duży i głupi.
Czy jest jakiś mechanik UIStoryboard, który przeoczyłem, to zasadniczo zrobiłoby "odwrotny modalny segue"?
Fajnie, nie wiedziałem o presentViewController (najwyraźniej nowy element iOS 5), który pomaga. – Jaanus
Tak, jeśli chcesz zrobić to w niestandardowym segue dla łatwego ponownego użycia możesz zrobić coś w stylu - (void) wykonać { UIViewController * src = (UIViewController *) self.sourceViewController; [src.presentingViewController dismissModalViewControllerAnimated: YES]; } – AppHandwerker
@SimonH Najlepsze porady dotyczące segues! –