Ios 如何防止具有自定义属性的UIBarButtonim更改大小

Ios 如何防止具有自定义属性的UIBarButtonim更改大小,ios,cocoa-touch,ios5,Ios,Cocoa Touch,Ios5,我的iPad应用程序(iOS 5.1)顶部的UIToolbar中有一个UIBarButtonItem。我在Interface Builder中将其宽度设置为65。其样式为“带边框”且标识符为“自定义”。按下时,文本标签和色调会发生变化: [btnA setTitle:@"State A"]; [btnA setTintColor:[UIColor STATE_A_COL]; 等等,各种各样的标签和颜色。这很好,按钮没有调整大小,即使不同州的标题在长度上有很大差异 然后,我添加了

我的iPad应用程序(iOS 5.1)顶部的UIToolbar中有一个UIBarButtonItem。我在Interface Builder中将其宽度设置为65。其样式为“带边框”且标识符为“自定义”。按下时,文本标签和色调会发生变化:

    [btnA setTitle:@"State A"];
    [btnA setTintColor:[UIColor STATE_A_COL];
等等,各种各样的标签和颜色。这很好,按钮没有调整大小,即使不同州的标题在长度上有很大差异

然后,我添加了以下代码,以在启动时设置字体:

UIFont * futura = [UIFont fontWithName:@"Futura" size:13];
NSDictionary *attributes = [NSDictionary dictionaryWithObject:futura
                                                       forKey:UITextAttributeFont];
[btnA setTitleTextAttributes:attributes forState:UIControlStateNormal];
现在,按钮的大小与启动时标题的宽度相匹配。它随着标题的变化而改变大小。如何锁定尺寸?我不明白这里的相互作用;我以为我所做的只是更改title字体属性,而不是更改按钮的任何其他内容

我还尝试显式设置
width
属性:

[btnA setWidth:65.0];

再次无效。

我让
UIBarButtonItem
停止调整大小,方法是使用
posabilities
属性,给出所需最大宽度的提示

[btnA setPossibleTitles:[NSSet setWithObjects:@"State A', @"B", @"Final state", nil]];

这是可行的,但我不能明确地将宽度设置为我想要的大小,所以我留下问题。

Tim,你想要什么尺寸?