web-dev-qa-db-ja.com

UIButtonのタイトルテキストの色を設定する方法は?

ボタンのテキストの色を変更しようとしましたが、まだ白のままです。

isbeauty = UIButton()
isbeauty.setTitle("Buy", forState: UIControlState.Normal)
isbeauty.titleLabel?.textColor = UIColorFromRGB("F21B3F")
isbeauty.titleLabel!.font = UIFont(name: "AppleSDGothicNeo-Thin" , size: 25)
isbeauty.backgroundColor = UIColor.clearColor()
isbeauty.layer.cornerRadius = 5
isbeauty.layer.borderWidth = 1
isbeauty.layer.borderColor = UIColorFromRGB("F21B3F").CGColor
isbeauty.frame = CGRectMake(300, 134, 55, 26)
isbeauty.addTarget(self,action: "first:", forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(isbeauty)

また、赤、黒、青に変更してみましたが、何も起こりません。

88
coolmac

実際のタイトルテキストを設定するのと同じ方法でfunc setTitleColor(_ color: UIColor?, forState state: UIControlState)を使用する必要があります。 ドキュメント

isbeauty.setTitleColor(UIColorFromRGB("F21B3F"), forState: .Normal)
203
luk2302

Swift 3、Swift 4、Swift 5

コメントを改善するため。これは動作するはずです:

button.setTitleColor(.red, for: .normal)
95
Vyacheslav

ボタンのタイトルの色を設定する例

btnDone.setTitleColor(.black, for: .normal)
6
handiansom
func setTitleColor(_ color: UIColor?, 
               for state: UIControl.State)

パラメーター

色:
指定された状態に使用するタイトルの色。

状態:
指定された色を使用する状態。可能な値はUIControl.Stateで説明されています。

サンプル

let MyButton = UIButton()
MyButton.setTitle("Click Me..!", for: .normal)
MyButton.setTitleColor(.green, for: .normal)
1

これはSwift 5互換の回答です。組み込みの色のいずれかを使用する場合は、単に使用できます

button.setTitleColor(.red, for: .normal)

カスタムカラーが必要な場合は、最初に以下のようにUIColorの拡張機能を作成します。

import UIKit
extension UIColor {
    static var themeMoreButton = UIColor.init(red: 53/255, green: 150/255, blue: 36/255, alpha: 1)
}

次に、以下のようにボタンに使用します。

button.setTitleColor(UIColor.themeMoreButton, for: .normal)

ヒント:このメソッドを使用して、rgbaカラーコードからカスタムカラーを保存し、アプリケーション全体で再利用できます。

1
Jay Mayu