Tim*_*Tim 5 cocoa-touch ios ios5
我的iPad应用程序顶部的UIToolbar中有一个UIBarButtonItem(iOS 5.1.)我在Interface Builder中将其宽度设置为65.它具有'边界'和标识符'自定义'的风格.按下时文本标签和色调会发生变化:
[btnA setTitle:@"State A"];
[btnA setTintColor:[UIColor STATE_A_COL];
Run Code Online (Sandbox Code Playgroud)
等等,采用各种标签和颜色.这工作正常,按钮没有调整大小,即使各州的标题长度差异很大.
然后我在启动时添加了此代码来设置字体:
UIFont * futura = [UIFont fontWithName:@"Futura" size:13];
NSDictionary *attributes = [NSDictionary dictionaryWithObject:futura
forKey:UITextAttributeFont];
[btnA setTitleTextAttributes:attributes forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)
现在,按钮的大小适合启动时的标题宽度.随着标题的改变,它会改变大小.我该如何锁定尺寸?我不明白这里的相互作用; 我以为我所做的就是更改标题字体属性,而不是关于按钮的任何其他内容.
我也尝试过显式设置width属性:
[btnA setWidth:65.0];
Run Code Online (Sandbox Code Playgroud)
再无济于事.
我UIBarButtonItem通过使用possibleTitles属性来停止调整大小,以提示所需的最大宽度.
[btnA setPossibleTitles:[NSSet setWithObjects:@"State A', @"B", @"Final state", nil]];
Run Code Online (Sandbox Code Playgroud)
这工作但我无法明确地将宽度设置为我想要的大小,所以我将问题保持打开状态.