我在 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];
现在,按钮的大小适合它在启动时的标题宽度。它随着标题的变化而改变大小。如何锁定尺寸?我不明白这里的相互作用;我以为我所做的只是更改标题字体属性,而不是按钮的任何其他内容。
我也尝试过明确设置width
属性:
[btnA setWidth:65.0];
再次无济于事。