UIButton
のテキストの色を設定しています
headingButton.titleLabel.textColor = [UIColor colorWithRed:36/255.0
green:71/255.0
blue:113/255.0
alpha:1.0];
動作している別のコードで使用しているのと同じコードの色は変わりません。
つかいます
Objective-C
[headingButton setTitleColor:[UIColor colorWithRed:36/255.0 green:71/255.0 blue:113/255.0 alpha:1.0] forState:UIControlStateNormal];
スイフト
headingButton.setTitleColor(.black, for: .normal)
カスタムクラスMyButtonをUIButton
から拡張して作成しました。次に、これをIdentity Inspector
内に追加しました。
この後、ボタンの種類をCustomに変更します。
その後、さまざまな状態のtextColor
にUIFont
やUIButton
などの属性を設定できます。
その後、MyButton
クラス内に2つのメソッドを作成しました。これらのメソッドは、UIButton
を強調表示して表示する場合にコード内で呼び出す必要があります。
- (void)changeColorAsUnselection{
[self setTitleColor:[UIColor colorFromHexString:acColorGreyDark]
forState:UIControlStateNormal &
UIControlStateSelected &
UIControlStateHighlighted];
}
- (void)changeColorAsSelection{
[self setTitleColor:[UIColor colorFromHexString:acColorYellow]
forState:UIControlStateNormal &
UIControlStateHighlighted &
UIControlStateSelected];
}
titleColor
のドキュメントによると、一度に複数の状態が存在する可能性があるため、通常、強調表示、および選択したUIControlState
に対してUIControlState
を設定する必要があります。これらのメソッドを作成しない場合、UIButton
は選択または強調表示を表示しますが、選択自体を表示するためではなく、選択の短い表示にのみ使用できるため、UIInterface Builder
内でセットアップしたUIColor
には残りません。
In Swift:
ラベルテキストの色の変更は、UIButton
の変更とはまったく異なります。 UIButton
のテキストの色を変更するには、次のメソッドを使用します。
self.headingButton.setTitleColor(UIColor(red: 107.0/255.0, green: 199.0/255.0, blue: 217.0/255.0), forState: UIControlState.Normal)