NEW: Pre-order my Vapor book and learn server-side Swift! >>

How to add a custom view to a UIBarButtonItem

Written by Paul Hudson    @twostraws

Most UIBarButtonItems contain either an icon or some text, but they can do so much more – in fact, you can embed any kind of UIView subclass inside a bar button item, then put that button into a navigation bar or toolbar as you normally would.

For example, you can create a UIProgressView and place it into a bar button like this:

var progressView = UIProgressView(progressViewStyle: .default)
progressView.sizeToFit()

let progressButton = UIBarButtonItem(customView: progressView)

Available from iOS 2.0 – see Hacking with Swift tutorial 4

Did this solution work for you? Please pass it on!

Other people are reading…

About the Swift Knowledge Base

This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.

Learn Server-Side Swift now!

Take your Swift code to the server and become a full-stack developer with my latest book: Server-Side Swift!

Click here to visit the Hacking with Swift store >>