Swift version: 5.1
All navigation controllers have a toolbar built right in, but it's not showing by default. And even if it were showing, it doesn't have any items by default – that's down to you fill in.
To get started, give a view controller some toolbar items by setting its
toolbarItems property like this:
let add = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(addTapped)) let spacer = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: self, action: nil) toolbarItems = [add, spacer]
You can now tell the navigation controller to show its toolbar like this:
navigationController?.setToolbarHidden(false, animated: false)
If you animate between two view controllers with different toolbar items, iOS automatically animates their change.
LEARN SWIFTUI FOR FREE I have a massive, free SwiftUI video collection on YouTube teaching you how to build complete apps with SwiftUI – check it out!
Available from iOS 3.0 – see Hacking with Swift tutorial 4
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.