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];
再び役に立たない。