0

Ich entwickle eine einfache iOS-App, um Swift und iOS-Programmierung zu lernen. Ich fragte mich, was wäre die "beste" Möglichkeit, beim Start der App einen anderen View Controller als den ersten im Navigations-Controller-Stack zu präsentieren.Initialansicht-Controller eines Navigationscontrollers einstellen

dieses Storyboard-Diagramm Bedenken Sie: Storyboard Der Tab Bar-Controller ist der erste View-Controller und "View Controller 1" an App-Start in den Navigation-Controller angezeigt. Da "View Controller 1" fast nie verwendet wird, möchte ich stattdessen "View Controller 2" anzeigen, wobei der "Zurück" -Knopf auf "View Controller 1" zeigt. Um Zeit und Speicher zu sparen, möchte ich "View Controller 1" überhaupt nicht laden, da ich bereits weiß, welche Daten im zweiten View-Controller angezeigt werden müssen.

Beide View Controller sind Table View Controller und die Auswahl einer der Zellen im ersten VC löst einen Übergang zum zweiten aus. Der Benutzer würde jedoch normalerweise nur die zweite VC sehen müssen, als ob die erste Zelle von TVC 1 ausgewählt worden wäre.

Antwort

1

Da Sie in der Lage sein möchten, zum ersten VC "zurückzugehen", muss es unter dem zweiten VC platziert werden. Mein Vorschlag ist es, die erste VC als root-View-Controller in appDelegate didFinishLaunchingWithOptions und programmatisch sofort Push/präsentieren VC2. Auf diese Weise wird der erste VC nicht gezeigt und daher können kostspielige Ansichten, die das Laden/Auslegen von Teilansichten erfordern, weggelassen werden.