Swift version: 5.1
You can call
setBackgroundImage() on any navigation bar, providing an image to use and the bar metrics you want it to affect, and you're done. Bar metrics left you specify what sizes of bars you want to change: should this by all bars, just phone-sized bars, or just phone-sized bars on landscape?
Here's an example that changes the navigation bar background image to a file called "navbar-background.png" (you'll want to change that!) across all device sizes:
let img = UIImage(named: "navbar-background") navigationController?.navigationBar.setBackgroundImage(img, for: .default)
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 5.0
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.