Rozwiązanie ja wpadliśmy na ten przedstawia się następująco:
Mam tableview z wielu komórek prototypowych, które wyświetla złożonych danych. Istnieje segue do widoku szczegółów i widok procesu transakcji.
Ten pierwszy widok tabeli ma przycisk wyszukiwania, który wyświetla nowy widok tabeli z wynikami.Potrzebuje tej samej funkcjonalności co główna tabela, która ją popycha; w tym segues do szczegółów i widoków postępów transakcji, tak:
Na scenorysie wybierz i skopiuj główny widok tabeli. Odznacz i wklej. Stwórz przejście z głównego widoku do drugiego widoku stołu; lub z dowolnego miejsca, z którego chcesz nawigować. Zmodyfikuj drugi widok tabeli według własnego uznania. IE: Jeśli wymaga pewnych zmian interfejsu, nie ma problemu.
Utwórz nową klasę viewcontroller, która jest podklasą obiektu viewcontroller z uruchomionym głównym widokiem tabeli.
Zastępuj delegata danych w podklasie, aby obsłużyć podzbiór żądanych danych.
Wracając do scenorysu, wybierz drugi kontroler widoku stołu, aw inspektorze tożsamości wybierz swoją podklasę jako klasę niestandardową.
Aby to rozwiązanie działało sprawnie, Twoja aplikacja naprawdę musi zarządzać danymi dla widoków. Możesz użyć funkcji prepareforsegue do przekazania danych z pierwszego widoku tabeli do drugiego, ale znalazłem model danych aplikacji o wiele bardziej elastyczny z wielu punktów widzenia.
O ile nie masz przycisków, które popychają do widoków podrzędnych przez segue, twoja podklasa będzie musiała przesłonić funkcje, które popychają poprzez segues z tożsamościami. NB Segmenty muszą mieć unikalne identyfikatory, jeśli w ogóle je identyfikujesz.
Trzeba było wielu prób i błędów, aby to rozgryźć, ale gdy już zrozumie się tę koncepcję, jest to względnie płynne rozwiązanie, które można łatwo przystosować i nie zaszkodzi.
+1 ode mnie. Spędziłem wiele godzin próbując dowiedzieć się, jak wyświetlić widoki nagłówka tabeli w trybie Storyboard, ponieważ pomyślałem Storyboard był nowy i ulepszony sposób układania interfejsu użytkownika mojej aplikacji. Niestety używanie Storyboard nie jest możliwe w tym dziale, a najlepszym rozwiązaniem jest powrót do starego sposobu ładowania stalówki do widoku lub budowania widoku za pomocą kodu. Naprawdę chciałem uwierzyć, że cały UI mojej aplikacji można zrobić w jednym pliku Storyboard, ale na pewno nie jest tak. – ozz