UINavigationController
todo - see FlashChat App for Code
Links[Bearbeiten]
Swift - Segue Swift (Programmiersprache)
Quickstart[Bearbeiten]
- MainView auswählen
- Edit > Embed in > Navigation Controller
[Bearbeiten]
// Navigate to ChatViewController
self.performSegue(withIdentifier: "RegisterToChat", sender: self)
Wobei RegisterToChat der name des Segue ist
Zurück zum Hauptscreen[Bearbeiten]
Der Hauptscreen liegt im Navigation Stack ganz unten. Um alle darüber liegenden Screens zu entfernen kannst du folgende Funktion nutzen:
navigationController?.popToRootViewController(animated: true)
Wobei navigationController derjenige ist in den der RootScreen eingebettet ist.
Hide Backbutton / Set Title[Bearbeiten]
Manchmal möchte man den Backbutton loswerden oder einen Title setzen:
override func viewDidLoad() {
super.viewDidLoad()
title = "⚡️FlashChat"
navigationItem.hidesBackButton = true
}
Bar Button Item[Bearbeiten]
Um ein Bar Button Item (einen Schaltflächenknopf) zu einer Navigation Bar hinzuzufügen, kannst du entweder den Interface Builder oder den Code verwenden.
Mit Interface Builder:
- Öffne deine Storyboard-Datei und wähle die Ansicht, zu der du das Bar Button Item hinzufügen möchtest.
- Suche im Objektbibliothek-Fenster (rechts im Xcode-Fenster) das Bar Button Item und ziehe es auf die Navigation Bar.
Du kannst das Bar Button Item auf der rechten oder linken Seite der Navigation Bar positionieren, indem du es auf die entsprechende Seite ziehst.
Verwende den Attributinspektor, um das Bar Button Item anzupassen, z.B. das Symbol oder den Text.
Mit Code:
let rightBarButton = UIBarButtonItem(title: "Right Button", style: .plain, target: self, action: #selector(rightButtonTapped))
navigationItem.rightBarButtonItem = rightBarButtonHier wird ein neues Bar Button Item erstellt, mit einem Titel "Right Button", einem Stil "plain", einem Ziel (target) und einer Aktion (action). Dann wird es als rechtes Bar Button Item der navigationItem hinzugefügt.
Es gibt auch andere Methoden zum Erstellen von Bar Button Item wie z.B das Verwenden von Bildern oder System Symbols.