NEW: Learn Server-Side Swift with my latest book – out now! >>

How to add a custom view to a UIBarButtonItem

Available from iOS 2.0 – see Hacking with Swift tutorial 4

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)

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.

Get the ultimate experience

The Swift Power Pack includes my first six books for one low price, helping you jumpstart a new career in iOS development – check it out!

Click here to visit the Hacking with Swift store >>