In Xcode's Swiftui oder Uikit-Frameworks gibt es keine einzelne, eingebaute "Seitenleiste" -Komponente. Sie müssen es selbst mit geeigneten Layoutstrukturen bauen. Der beste Ansatz hängt von Ihrer gewünschten Funktionalität und dem gesamten Design Ihrer App ab. Hier sind einige häufige Methoden:
1. Verwenden von Swiftui (für neuere Projekte empfohlen):
Swiftui bietet flexible Layout -Tools, mit denen eine Seitenleiste relativ einfach erzeugt werden. Die wichtigsten Komponenten, die Sie verwenden, sind:
* `NavigationView`: Dies liefert die grundlegende Navigationsstruktur. Die Seitenleiste wird oft Teil seines Modifikators "Liststyle (. SideBar)" sein.
* `list`: Dies ist ideal, um den Inhalt in Ihrer Seitenleiste zu erstellen und Zeilen für Ihre Navigationselemente anzubieten.
* `GeometryReader`: Auf diese Weise können Sie die Breite der Seitenleiste dynamisch auf dem verfügbaren Platz anpassen (optional, jedoch für die Reaktionsfähigkeit empfohlen).
`` `Swift
Swiftui importieren
struct contentView:anzeigen {
var body:eine Ansicht {
NavigationView {
Liste {
NavigationLink (Ziel:Text ("Ansicht 1") {
Text ("Ansicht 1")
}
NavigationLink (Ziel:Text ("Ansicht 2") {
Text ("Ansicht 2")
}
// Fügen Sie hier weitere Navigationslinks hinzu ...
}
.Liststyle (.Siktebar) // Dies schafft den Sidebar -Look
.NavigationTitle ("meine App")
// Hauptinhaltsbereich (dies wird neben der Seitenleiste angezeigt)
Text ("Hauptinhalt")
}
}
}
`` `
Dieser Code erstellt eine grundlegende Seitenleiste mit zwei Navigationslinks. Die ".Liststyle (.Siktebar)" ist entscheidend für das Erscheinungsbild. Der Hauptinhalt (in diesem Fall "Hauptinhalt") wird rechts von der Seitenleiste angezeigt.
2. Verwenden von UIKIT (für vorhandene UIKIT -Projekte):
In UIKIT verwenden Sie normalerweise ein "UiSplitViewController`
* `uisplitViewController` (am einfachsten für einfache Seitenleisten): Dies ist der einfachste Ansatz für ein Master-Detail-Layout (Seitenleiste als Master, Hauptinhalt als Detail).
`` `objectivec
// In Ihrem Ansichtskontroller ViewDidload:
UiSplitViewController *SplitViewController =self.SplitViewController;
if (SplitViewController) {
UIViewController *MasterViewController =[selforyboard InstantiateViewControllerWithIdentifier:@"MasterViewController"];
UIViewController *detailViewController =[selforyboard InstantiateViewControllerWithIdentifier:@"DetailViewController"];
SplitViewController.viewController =@[MasterViewController, DetailViewController];
// Bei Bedarf das Verhalten des Split -View -Verhaltens (z. B. den Anzeigemodus) anpassen.
}
`` `
Hier würden Sie "" masterviewController "" und "" DetailViewController "mit den Kennern Ihrer Storyboard -Ansichts -Controller ersetzen. Der Master View Controller würde Ihre Seitenleiste enthalten (wahrscheinlich verwenden Sie eine "UitableView").
* Manuelles Layout mit `UitableView` und Einschränkungen (mehr Kontrolle, komplexer): Sie erstellen eine "UitableView" für Ihre Seitenleiste, setzen es in eine "UIView" ein und verwenden automatische Layout -Einschränkungen, um es neben Ihrer Hauptinhalteansicht zu positionieren. Dies bietet eine feinkörnige Kontrolle über das Aussehen und das Verhalten, erfordert jedoch mehr Codierung.
Wichtige Überlegungen:
* Reaktionsfähigkeit: Entwerfen Sie Ihre Seitenleiste so, dass sie sich an verschiedene Bildschirmgrößen und -orientierungen anpassen. Swiftuis "GeometryReader" hilft dabei. In UIKIT verwalten Sie Einschränkungen, um verschiedene Bildschirmgrößen zu verarbeiten.
* Navigation: Wie werden Benutzer in der Seitenleiste und in den Hauptinhaltsbereich navigieren? Swiftuis "NavigationLink" ist dafür perfekt; UIKIT verwendet `uinAvigationController`.
* Datenquelle: Woher kommen die Daten für Ihre Seitenleistenelemente (z. B. Menüoptionen)? Ein Array, eine Datenbank oder eine Netzwerkanforderung?
* Styling: Passen Sie das Erscheinungsbild der Seitenleiste anhand geeigneter Styling -Techniken (z. B. Farben, Schriftarten, Symbole) an, die für Swiftui oder UIKIT spezifisch sind.
Denken Sie daran, den Ansatz zu wählen, der die Architektur und Komplexität Ihres Projekts am besten entspricht. Swiftui wird im Allgemeinen für neue Projekte aufgrund seiner deklarativen Art und einer einfacheren Behandlung von Reaktionslayouts bevorzugt. UIKIT bietet eine direktere Kontrolle, erfordert jedoch häufig eine manuelle Layout -Verwaltung.