Wie öffnet man eine modal mit UITabBarController und auf schließen, Anzeige der letzten tab-Leiste anzeigen?
Also ich habe ein UITabBarController
auf einem storyboard, die hat 3 Tasten. Zwei von Ihnen öffnen standard-Ansichten im Zusammenhang mit der tab-bar mit standard-view-Verein leitet über... der Dritte Punkt ist die Frage.
Ich würde gerne ein Formular öffnen, dass das Leben in einem anderen storyboard (geteilt mit anderen Ansichten in der app) in eine modal-Ansicht, und auf schließen oder zu senden, der gerade wieder zu, was Reiter war zuvor aktiv in der registerkartenansicht.
Habe ich ein paar gesehen "Optionen" gibt, aber keiner von Ihnen scheinen, wie genau das, was ich Suche zu tun.
Irgendwelche Ideen?
EDIT: hab Es bearbeitet, aus meiner ursprünglichen Frage durch einen mod, aber ich Schreibe dies hier in Swift...nicht Obj-C.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Also ich habe eine mögliche Lösung, die funktioniert, indem Sie eine leere view-controller, shouldSelectViewController und der UITabBarController Delegieren. Das einzige Problem ist, ich bin nicht besonders glücklich mit dem, wie brüchig es ist.
Dies funktioniert gut, aber wenn jemand käme und re-arrangieren Sie die Reihenfolge der Registerkarten in das storyboard, das brechen würde.
Geben @rmp einige Kredit -, andere Optionen ", Wenn Sie geben Sie einen Titel für Ihre root-viewControllers, dass make-up der Registerkarten in Ihrem tabBarController, als Sie Sie verwenden können viewController.Titel um zu überprüfen, welche Registerkarte wurde abgehört, in die shouldSelectViewController delegieren. Natürlich Sie laufen immer noch Gefahr, dass jemand die Umbenennung der Aussicht auf Titel-Eigenschaft".
Klingt es wie Sie wollen nicht wirklich eine Registerkarte, die tabs sind gedacht, um enthalten eine Ansicht und nicht eine neue/modal anzeigen. Es gibt jedoch Fälle, wo das, was Sie tun wollen, Sinn machen, wie einige apps verwenden Sie die mittlere Registerkarte eine Schaltfläche zum hinzufügen eines neuen Elements oder einige Aktionen (Yelp ist ein gutes Beispiel). In diesen Fällen, die Registerkarte ist in der Regel größer oder optisch anders zu erklären, dass es nicht wirklich eine Registerkarte. Dies ist, was ich denke, Sie sind wirklich nach.
Um dies zu tun, müssen Sie:
tabBar
dies nur ein PlatzhalterviewWillLayoutSubviews
IhrertabBarController
Klasse platzieren Sie die Schaltfläche über dem Platzhalter tab. Siehe unten (portrait-Beispiel-code).Hinweis: möglicherweise müssen Sie passen Sie die Platzierung der Taste mit dem code unten, um Ihre Bedürfnisse anzupassen.
tabBarController:shouldSelectViewController:
und verwenden Sie dann einige anderen benutzerdefinierten code zu präsentieren, der modal-aber werden Sie noch brauchen, um einige Arbeit zu tun, die außerhalb des storyboard.Habe ich simuliert die gleiche, siehe link :-https://github.com/deepesh259nitk/MultipleStoryBoards/tree/master
Zur Beantwortung Ihrer zweiten Frage, es wird "spröde"
Wenn Sie geben Sie einen Titel für Ihre root-viewControllers, dass make-up der Registerkarten in Ihrem
tabBarController
als Sie Sie verwenden können viewController.Titel um zu überprüfen, welche Registerkarte wurde abgehört, in dieshouldSelectViewController
delegieren. Natürlich Sie laufen immer noch Gefahr, dass jemand die Umbenennung der Aussicht auf Titel-Eigenschaft.