title: How to prevent UIBarButtonItem with custom attributes from changing size
body: <p>I have a UIBarButtonItem in a UIToolbar at the top of my iPad app (iOS 5.1.) I have its width set to 65 in Interface Builder. It is of style 'bordered' and identifier 'custom.' The text label and tint changes when pressed:</p>
  
  <pre><code>    [btnA setTitle:@"State A"];
      [btnA setTintColor:[UIColor STATE_A_COL];
  </code></pre>
  
  <p>And so on, taking on various labels and colors. This worked fine, the button didn't resize even though the titles for the various states are quite different in length.</p>
  
  <p>I then added this code to set the font, on startup:</p>
  
  <pre><code>UIFont * futura = [UIFont fontWithName:@"Futura" size:13];
  NSDictionary *attributes = [NSDictionary dictionaryWithObject:futura
                                                         forKey:UITextAttributeFont];
  [btnA setTitleTextAttributes:attributes forState:UIControlStateNormal];
  </code></pre>
  
  <p>Now, the button is sized to fit the width of the title it has on startup. It changes size as the titles change. How can I lock the size? I don't understand the interplay here; I thought all I'd done was change the title font attribute, not anything else about the button.</p>
  
  <p>I have also tried explicitly setting the <code>width</code> property:</p>
  
  <pre><code>[btnA setWidth:65.0];
  </code></pre>
  
  <p>Again to no avail.</p>