2011-01-09 17 views
0

Ich habe die folgende Struktur in meiner App, ist dies eine korrekte/gültige Art und Weise, es zu tun?Ist dies eine gültige Struktur einer App

UINavigationController an das Fenster angehängt, ist der Rootcontroller in diesem navigationcontroller ein UIViewController, der eine Tabellenansicht darstellt. Wenn ein Benutzer auf eine der Zeilen tippt, wird ein UITabBarController auf den Stapel geschoben.

Dies funktioniert jedoch begann ich nicht sicher zu sein, wenn ich diese Zeilen lesen:

weil die UITabBarController Klasse erbt von der UIViewController Klasse, Tab-Leiste Controller haben ihre eigene Ansicht, dass die durch zugänglich ist Eigenschaft anzeigen Wenn Sie eine Registerkartenschnittstelle bereitstellen, müssen Sie diese Ansicht als das Stammverzeichnis Ihres Fensters installieren. Im Gegensatz zu anderen View-Controllern sollte eine Registerkarte Bar-Schnittstelle nie als Kind einer anderen Ansicht Controller installiert werden.

Antwort

1

Dies wird nicht empfohlen, aber es sollte in Ordnung sein. Die wehmütige Wordpress App tut dies auch. Dies hängt vom Design Ihrer App ab.

Ich bin nicht sicher über Apples Genehmigung.

+0

Was wäre die richtige Art, eine UITabBar nur dann zu präsentieren, wenn ein Benutzer auf eine der Zeilen tippt? – LuckyLuke

+0

Überhaupt nicht. Eine Tab-Leiste sollte entweder konstant oder nie angezeigt werden. Lesen Sie auch die iOS HIG, wo dies erwähnt wird. –

+0

Ich verstehe nicht, warum dies "nicht" empfohlen wird, aber denken Sie, dass es bei der Einreichung genehmigt wird? – LuckyLuke

1

Der Grund, warum dies nicht empfohlen wird (und damit könnte nicht genehmigt werden - jetzt oder zu einem späteren Zeitpunkt!) Ist Benutzer Verwirrung.

Benutzer werden verwendet, um die Tab-Leiste als Top-Level-Navigation zu betrachten. Also, wenn Sie mit der Tabelle und Navigation graben und dann eine UITabBar bekommen, ist das für die Navigation schrecklich, da der Benutzer nicht weiß, was er erwartet.

Die Lösung ist hier natürlich, je nach Anwendungsfall, ein "Schalter" in der Navigationsleiste oder einer Toolbar. UISegmentedControl wäre eine natürliche Wahl.

+0

Danke Eiko! – LuckyLuke

Verwandte Themen