[Swift] So verbinden Sie TabBar mit Storyboard Reference und verwenden auch NavigationController

Ich habe es gefunden, als ich es nachgeschlagen habe ... aber etwas ist schief gelaufen

Ich wollte diesem und jenem Funktionen hinzufügen, aber als ich es mit einem Storyboard machen wollte, das so sauber wie möglich war, bin ich ziemlich gestolpert, also werde ich es hier lassen. Ich hoffe es hilft dir das zu lesen.

Die TabBar wird mithilfe der Storyboard-Referenz übersichtlich angezeigt

Das Ideal ist in erster Linie ein Storyboard One ViewController, aber eine TabBar, die mehrere Storyboards verbinden muss. Mit Ausnahme derer, die alles in Code schreiben, besteht die Gefahr, dass das Storyboard für Anfänger durcheinander gebracht wird. Hier kommt die Storyboard-Referenz ins Spiel. Mit dieser Funktion können Sie auf das Storyboard verweisen. Da die Anzeige klein ist, ist der Bildschirm ordentlich.

Es ist eine Slapstick-Geschichte, aber als ich wirklich anfing, sie mit xcode zu erstellen, als ich alle View-Controller in ein Storyboard packte, wurde sie zu schwer und ich konnte nicht gut arbeiten.

Weise

1. Vorbereitung von Storyboard und ViewController

Erstellen Sie zunächst ein neues Projekt aus xcode und wählen Sie eine einfache App. Hier wird ProdactName auf TabTest gesetzt. (Der Name kann alles sein) Die Schnittstelle sollte Storyboard sein. Ich kenne Swift UI nicht. (Während des Studiums) スクリーンショット 2020-11-15 2.15.26.png

スクリーンショット 2020-11-15 2.18.40.png (Ich verstecke es, weil der Name peinlich ist)

Verlassen Sie als Nächstes das main.Storyboard von Anfang an und erstellen Sie zwei Storyboards, die Sie wechseln möchten. Sie können eine neue Datei erstellen, sobald Sie Befehl + N drücken;) Hier habe ich Storyboards mit den Namen First und Seconde erstellt. Diese beiden sind noch leer. Drücken Sie also oben rechts auf [+] und ziehen Sie [View Controller] per Drag & Drop. スクリーンショット 2020-11-15 2.32.24.png Erstellen Sie als Nächstes erneut eine neue Datei, um den Inhalt dieses View Controler zu schreiben. Wählen Sie nun "Swift File". "Coco a touch class" ist einfacher, aber ich habe mich dafür entschieden, mich daran zu gewöhnen, auch nur einen Code zu schreiben. Es ist ein fester Satz, so dass Sie sich leicht daran erinnern können;) Nennen Sie sie FirstViewController und SecondViewController gemäß dem Storyboard. Ich denke es sieht so aus. スクリーンショット 2020-11-15 2.41.22.png

2. Schreiben Sie Code in den View Controller

Jetzt schreiben wir den Code. Bitte löschen Sie die zuerst eingegebene `` `import Foundation```. Denken Sie also bitte an den folgenden Code als festen Ausdruck für alltägliche Grüße "Guten Morgen".

FirstViewController.swift


import UIKit

class FirstViewController: UIViewController {
    override func viewDidLoad() {
    }
}

Dies ist der Teil, der automatisch beschrieben wird, wenn Sie beim vorherigen Erstellen einer neuen Datei "Cocoa Touch Class" auswählen. Aber ich denke, dass sich das Schreiben selbst positiv auf die Zukunft auswirken wird. (Zumindest bin ich mit dem Erstellen von Erweiterungen zufrieden? Es ist psychologisch einfacher, verschiedene Klassen in dieselbe View-Controller-Datei zu schreiben.)

Die Geschichte ging schief.

Um es kurz zu erklären, importieren (laden) Sie zuerst ein Kit (Toolbox) mit verschiedenen nützlichen Tools (Tools) namens UIKit. Erstellen Sie dann eine Klasse mit demselben Namen wie die Datei, um die Lesbarkeit zu verbessern. Diese Klasse wird auch als Klasse festgelegt, die als UIViewController fungiert. Anstatt von Anfang an mit dem Schreiben von "override ..." für den viewDidLoad () - Teil zu beginnen, funktioniert die xcode-Kompensationsfunktion, wenn Sie über "viewd ..." schreiben, und Sie können sie einfach schreiben. Diese viewDidLoad () ist eine Funktion, die nur beim ersten Anzeigen des Bildschirms geladen wird. Oft werden verschiedene Grundeinstellungen vorgenommen. super.viewDidLoad () ist ... super.

3. Legen Sie die erstellte Klasse im Storyboard fest

Stellen Sie die Klasse, die Sie geschrieben haben, auf den View Controller im Storyboard ein.

Wenn Sie auf die Leiste über dem Ansichts-Controller klicken, wird rechts ein Detailbildschirm angezeigt. Lassen Sie uns den FirstViewController festlegen, der zuvor in der Custom-Klasse erstellt wurde. Stellen Sie dasselbe für Second ein. スクリーンショット 2020-11-15 18.23.26.png Auf diese Weise wird der Code verknüpft und das Programm reflektiert.

Drücken Sie außerdem die Taste wie in der folgenden Abbildung gezeigt, um [Is Initial View Controller] zu aktivieren. Obwohl es leicht geschrieben ist, ist es wichtig. スクリーンショット 2020-11-15 18.30.33.png

4. Installieren Sie TabBarController

Ich werde hier das linke Main.storyboard verwenden. (Wenn Sie sich daran gewöhnt haben, sollten Sie ein neues TabBar.storyboard erstellen.) Durch Drücken der in der Abbildung gezeigten Reihenfolge können Sie TabBar auf dem vorhandenen Ansichts-Controller installieren. スクリーンショット 2020-11-15 18.34.58.png Die linke Seite ist TabBarController und die rechte Seite ist ViewController, aber Sie brauchen die rechte Seite nicht, also löschen Sie sie mit delete. Es bleibt nur die TabBar übrig.

5. Installation und Anschluss der Storyboard-Referenz

Drücken Sie oben rechts auf [+] und ziehen Sie die Storyboard-Referenz per Drag & Drop. スクリーンショット 2020-11-15 18.56.19.png Sie können eine Verbindung herstellen, indem Sie die Maus über den TabBarController bewegen, die Steuerung gedrückt halten und gedrückt halten und zur Storyboard-Referenz bringen. Hier haben Sie die Wahl, wie Sie eine Verbindung herstellen möchten, aber wählen Sie bitte [Beziehungsabschnitt]. スクリーンショット 2020-11-15 19.00.02.png Wiederholen Sie diesen Vorgang noch einmal, um die beiden Storyboard-Referenzen zu verbinden.

6. Verknüpfen Sie die Storyboard-Referenz und das Storyboard

Wenn Sie auf die Storyboard-Referenz klicken, werden die in den Details rechts angezeigten Elemente angezeigt. Im Pulldown des Storyboards oben werden First und Second erstellt. Legen Sie also jeweils fest. スクリーンショット 2020-11-15 19.05.09.png

Die Registerkartenleiste ist jetzt mit jedem Storyboard verbunden. Es ist auch eine gute Idee, es einmal auszuführen und festzustellen, ob Fehler vorliegen.

7. Legen Sie tabItem für jedes Storyboard fest

Wie Sie an der ehrlichen Person sehen können, die lief, ist der Bildschirm rein weiß. Unten sehen Sie einen leicht farbigen Balken, aber es wird kein Element angezeigt. Lassen Sie uns BarItem auf jedes Storyboard setzen. Ziehen Sie [Registerkartenelement] von [+] auf First.storyboard und legen Sie es dort ab. Da es unten willkürlich installiert wird, werden beim Klicken Elemente wie Titel und Bild in den Details auf der rechten Seite angezeigt. Bitte geben Sie es entsprechend ein. Es gibt viele Bilder, die mit xcode erstellt wurden. Wählen Sie daher ein geeignetes aus. スクリーンショット 2020-11-15 19.13.45.png Wenn Sie auch den zweiten Wert festlegen können, versuchen Sie es erneut. Die Tabbar wurde eingerichtet und kann umgeschaltet werden. (Was auch immer Sie drücken, es ist weiß? Das liegt daran, dass beide View Controller einen weißen Bildschirm haben;)

8. Installation des Navigationscontrollers

Wenn Sie hier ankommen, liegt das Ziel direkt vor Ihnen. Gib dein Bestes ein bisschen mehr! Gehen Sie zurück zu Main.storyboard und klicken Sie auf Storyboard-Referenz. Erinnern Sie sich, dass sich im Embed In ein Navigationscontroller befand, an den der TabBar-Controller zuvor angeschlossen war? Verbinden Sie den Navigationscontroller mit jeder Storyboard-Referenz. Plötzlich kommt ein großer NavigationController heraus und ich bin überrascht, aber es ist okay. スクリーンショット 2020-11-15 19.26.13.png

9. NavigationController-Einstellungen

Ich habe nicht viel Code geschrieben, also schreiben wir den Code am Ende auf coole Weise.

FirstViewController.swift


import UIKit

class FirstViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        setNavigation()
    }
    
    private func setNavigation(){
        navigationItem.title = "First"
    }
}

SecondViewController.swift


import UIKit

class SecondViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        setNavigation()
    }
    
    private func setNavigation(){
        navigationItem.title = "Second"
    }
}

Rufen Sie eine Funktion namens setNavigation () in viewDidLoad () auf. Dies macht es einfacher zu sehen, was viewDidLoad tut und was der Angerufene tut. Bitte googeln Sie für privat.

Versuchen Sie es damit. Erster und Zweiter werden oben auf dem Bildschirm angezeigt!

Herzliche Glückwünsche! Ich habe mein Bestes gegeben! Sie haben drei Tage lang danach gesucht und sind in wenigen Minuten angekommen! !!

Am Ende

Es war eine seltsame Spannung, wahrscheinlich weil ich den größten Teil dieses Artikels um 3 Uhr mitten in der Nacht geschrieben habe. Wenn ich mir Artikel mit Anleitungen in Übersee ansehe, ermutige ich sie oft so, und ich schreibe sie oft so, als würden sie miteinander sprechen, also habe ich es so geschrieben. Da ich viel Sukusho gepostet habe, tut es mir ehrlich leid ... Der Artikel ist lang geworden.

Ich bin noch ein Anfänger. Wenn es also Fehler oder bessere Möglichkeiten gibt, mich zu unterrichten, werde ich es lieben.

Wie ich am Anfang schrieb, hoffe ich, dass dieser Artikel jemandem hilft.

Coding with me!;)

Recommended Posts

[Swift] So verbinden Sie TabBar mit Storyboard Reference und verwenden auch NavigationController
Verwendung von StringBurrer und Arrays.toString.
Verwendung von EventBus3 und ThreadMode
Wie man Gleichheit und Gleichheit benutzt (wie man Gleichheit benutzt)
Wie man mssql-tools mit alpine benutzt
So verbinden Sie Heroku und Sequel
[Tipps] So lösen Sie Probleme mit XCode und Swift für Anfänger
Verwendung von OrientJS und OrientDB zusammen
Verwendung von BootStrap mit Play Framework
So richten Sie kapt ein und verwenden es
Verwendung von Teilzeichenfolgen und Substratmethoden
Verwendung von @Builder und @NoArgsConstructor zusammen
Verwendung der Dateien args :, environment :, env_file: und .env mit dem Befehl docker-compose
[swift5] So ändern Sie die Farbe der TabBar oder die Farbe des TabBar-Elements mit Code
[Java] Verwendung der FileReader-Klasse und der BufferedReader-Klasse
Verwendung der Symbolleiste mit Superrand Teil 1 Stellen Sie Zeichen ein und ändern Sie die Farben
Verwendung von MyBatis2 (iBatis) mit Spring Boot 1.4 (Spring 4)
Verwendung des eingebauten h2db mit Federstiefel
[Ruby] Verwendung der gsub-Methode und der sub-Methode
Verwendung des Java-Frameworks mit AWS Lambda! ??
Beachten Sie, wie Sie Swift Super Basic TableView verwenden
Verwendung von Segmented Control und zu notierenden Punkten
Verwendung der Java-API mit Lambda-Ausdrücken
Verwendung der Scope- und Pass-Verarbeitung (Servist)
So erstellen Sie eine API mit GraphQL und Rails
Verwendung des NFS-Protokolls Version 2 mit Ubuntu 18.04
So verwenden Sie Eclipse auf meinem PC mit 32 Bit und 2 GB Speicher
[Java] Verwendung der Kalenderklasse und der Datumsklasse
So implementieren Sie UICollectionView mit Code nur in Swift
So verbinden Sie MySQL / MariaDB + HikariCP mit Liferay 7 / DXP
Verwendung von Oracle JDK 9 EA mit Travis CI
Verwendung der Z3-Bibliothek in Scala mit Eclipse
Ich habe MySQL 5.7 mit Docker-Compose gestartet und versucht, eine Verbindung herzustellen
So serialisieren und deserialisieren Sie den LocalDateTime-Typ mit GSON
Verwendung der JDD-Bibliothek in Scala mit Eclipse
[swift5] So führen Sie die Verarbeitung aus, wenn Sie auf die TabBar tippen
So installieren Sie Gradle und Kotlin mit SDKMAN (Mac)
Verwendung und Anwendung der JFrame / Canvas-Klasse von Java
Verwendung von Map
Wie benutzt man rbenv?
Verwendung mit_option
Verwendung von fields_for
Verwendung von java.util.logging
Verwendung der Karte
Verwendung von collection_select
Wie benutzt man Twitter4J
Wie benutzt man active_hash! !!