Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Change the width of an UIBarButtonItem [duplicate]

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

like image 462
gnclmorais Avatar asked Dec 27 '11 10:12

gnclmorais


2 Answers

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

like image 103
RolandasR Avatar answered Nov 08 '22 16:11

RolandasR


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;
like image 22
odm Avatar answered Nov 08 '22 15:11

odm