title: setImage method changes UIBarButtonItem width, even if image size doesn't change
body: <p>I want to add a "bookmark" button to my navigation bar as a rightBarButtonItem </p>
  
  <pre><code>- (void)viewDidLoad
  {
      [super viewDidLoad];
  
      // Add bookmark button
      UIBarButtonItem *bookmarkBarButton = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStyleBordered target:self action:@selector(bookmark:)];
      [bookmarkBarButton setImage:[UIImage imageNamed:@"greyBookmark.png"]];
      [self.navigationItem setRightBarButtonItem:bookmarkBarButton];
      bookmarkBarButton.tintColor = [UIColor colorWithRed:0.4 green:0.4 blue:0.4 alpha:0.9f];
      b_bookmarked = false;
  }
  
  // Will call this method when the bookmark button is pressed
  - (IBAction)bookmark:(id)sender
  {
      // Toggle color of bookmark icon on button
      if ( (b_bookmarked = !b_bookmarked) )
      {
          [self.navigationItem.rightBarButtonItem setImage:[UIImage imageNamed:@"blueBookmark.png"]];
      }
      else
      {
          [self.navigationItem.rightBarButtonItem setImage:[UIImage imageNamed:@"greyBookmark.png"]];
      }
  
      // Save bookmark
  
  }
  </code></pre>
  
  <p>both greyBookmark.png and blueBookmark.png have 10x26 size. Button looks narrowed when view appears. But when I click this button, button gets wider, image still changes though. 
  Width changes when setImage method is called in bookmark: method (gets back to default size). I tried to explicitly set the width by calling [navigationItem.rightBarButtonItem setWidth:]  -  doesn't help either. Before doing that, width property was set to 0 and button should have resize depending on its image size, according to documentation.</p>
  
  <p>I want the rightBarButtonItem to have a const width.
  Is there a reason why it gets wider after the second call to setImage?</p>