8

How can I change the width of an UIBarButtonItem to 29px? The property width does not work and I don't want to create a UIButton and use the initWithCustomView because I want the square background to adjust to the navigation bar color. I'm using the initWithImage to init the UIBarButtonItem.

Here is my button with a current width of 37px. I want to set to 29px.

UIButton

gnclmorais
  • 4,897
  • 5
  • 30
  • 41

2 Answers2

16

you cant. If you want custom width you will need to use initWithCustomView

RolandasR
  • 3,030
  • 2
  • 25
  • 26
5

You can do it by dropping an image to the bar button item from the interface builder and changing the width of the custom view with this code:

CGRect frame = self.navigationItem.leftBarButtonItem.customView.frame;
frame.size.width = 141;
self.navigationItem.leftBarButtonItem.customView.frame = frame;
odm
  • 888
  • 1
  • 14
  • 22