回答:
使用する
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
は選択または強調表示を表示しますが、選択自体を表示するためではなく、選択の短い表示にのみ使用できるため、UIColor
内部の設定に留まりUIInterface Builder
ません。
|
代わりに使用する必要はありません&
か?
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)