How to hide a UIBarButtonItem in your Navigation Controller

Since UIBarButtonItems do not have a “hidden” property, we can’t just set this to yes and it’ll disappear. Instead, we can set them to nil.

In this example we’re hiding the right item in the navigation controller:

[self.navigationItem setRightBarButtonItems:nil animated:YES];




3 thoughts on “How to hide a UIBarButtonItem in your Navigation Controller

  1. You can use text attributes to hide a bar button:

    barButton.enabled = false
    barButton.setTitleTextAttributes([NSForegroundColorAttributeName : UIColor.clearColor()], forState: .Normal)

    Also see my solution with UIBarButtonItem extension for the similar question:
    Make a UIBarButtonItem disapear using swift IOS
    http://stackoverflow.com/a/32139271/979986

Leave a Reply