Sytuacja: dwa kontrolery UITabBarController, każdy z własnymi kartami, ale ostatnia karta w zarówno jest identyczna, więc chce jeden UIViewController, aby pokazać zawartość.Dwa kontrolery UITabBarController współdzielące jeden kontroler ViewController (w postaci zawartości karty)?
Problem w środowisku wykonawczym: Element udostępniony pojawia się tylko w jeden zestawów kart, gdy jest wyświetlany.
Pytanie: Czy ktoś wie, jak to działa?
Link do zewnętrznej grafiki ujęć konfiguracji: (Niestety, nie ma wystarczającej reputacji do zamieszczania zdjęć tutaj!) Storyboard graphic
projektXcode z tym Storyboard: XCode Project
każdy element zawartości karty ma własną klasę UIViewController. Nie zawierają kodu poza linią do obsługi przycisków wstecz.
(Tak, wiem, że to dziwne. Prawdziwa sytuacja to aplikacja na iPada, w której kontrolery kart są wyświetlane w popover, a popoutery to "edytory właściwości", w których różne obiekty mają różne właściwości, ale wszystkie mają wspólny zestaw właściwości. w ten sposób jedna zakładka dla "unikalnych" rekwizytów, jedna udostępniona zawartość tabulatora dla "wspólnych" rekwizytów, które mają wszystkie obiekty.)
Znalazłem kilka sposobów obejścia tego, aby uzyskać pożądany efekt, ale jeśli ten scenariusz zadziałał byłoby to o wiele łatwiejsze rozwiązanie.
- Informacja, nieco niezwiązane z pytaniem -
Alternatywne rozwiązanie używam: TabBarControllers odwołuje się tylko do jednego VC jako zawartość zakładki. Kiedy ładuje się ta karta VC, używam kodu do (a) utworzenia współdzielonego VC z storyboardu za pomocą identyfikatora, (b) dodania tego nowego obiektu VC do TabBarController za pośrednictwem [tabController setViewControllers: list animated: NO].
(Innym możliwym rozwiązaniem Lubię nawet mniej.. Nie używając TabBarController i prezentuje zawartość VC z moim własnym „zakładki” graficzny wciągnąć w nich każda ukazuje „ja” jako wybrany Yuk)
Więc Mam działające rozwiązanie, jestem po prostu ciekaw, dlaczego to nie działa (tylko znana rzecz w API iOS lub jakieś magiczne ustawienie właściwości, które może sprawić, że będzie funkcjonować?)
Uwaga podobne pytanie z innej ostrości (dziwne rzeczy dzieje się tam z tabel i widoków powtórnie wykorzystane i takie tam ...): http://stackoverflow.com/questions/8620619/uitabbarcontroller-storyboard-connecting-viewcontroller- thats-already-connecte? rq = 1 –
Nie jestem pewien, co próbujesz osiągnąć. Rozwiązanie, w którym dodajesz drugą kartę w kodzie, można zrobić w scenorysie, po prostu kopiując współużytkowany kontroler i podpinając jedną instancję do każdego kontrolera paska kart. W obu scenariuszach otrzymujesz dwa różne wystąpienia kontrolera "współużytkowanego". – rdelmar
Co staram się osiągnąć nie mając edytować układ UI w kilku kopiach „jeden” ujęć sceny, kiedy uzna, że musi mieć inny kolor tła i układ przycisków. W tym przykładzie byłyby tylko dwie kopie. W mojej prawdziwej aplikacji będzie prawdopodobnie 10+, stąd chęć udostępnienia. Próbowałem uniknąć eksternalizacji interfejsu w pliki .XIB i ładowanie stamtąd, od tego od których scenorysy mają się oddalać. –