UIButtonのタイトルの色を変更するにはどうすればよいですか?


189

プログラムでボタンを作成します。

button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self action:@selector(aMethod:)
forControlEvents:UIControlEventTouchDown];
[button setTitle:@"Show View" forState:UIControlStateNormal];
button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
[view addSubview:button];

タイトルの色を変更するにはどうすればよいですか?

回答:


522

-[UIButton setTitleColor:forState:]これを行うために使用できます。

例:

Objective-C

[buttonName setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

スウィフト2

buttonName.setTitleColor(UIColor.blackColor(), forState: .Normal)

スウィフト3

buttonName.setTitleColor(UIColor.white, for: .normal)

リチャードチャイルダンのおかげで


38
たとえば、[buttonName setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
Robert Childan、

3
[:forState:UIButton setTitleColor]作品が、btn.titleColor = [UIColor x]はしません..私は信じることができない
Legnus

私はあなたがアクセスすることができますどのように表示されていない@Lengus btn.titleColor、ただそこにあるbtn setTitleColor利用可能
アレックスCIO

1
素晴らしい答え。ただし、色を変更するために状態を設定する必要があるのはとんでもないことです。:(
Supertecnoboff

RGBはどうですか?
ウミトカヤ

23

あなたは、作成UIButton追加されViewController、変更するには、次のインスタンスメソッドをUIFonttintColorTextColorUIButton

Objective-C

 buttonName.titleLabel.font = [UIFont fontWithName:@"LuzSans-Book" size:15];
 buttonName.tintColor = [UIColor purpleColor];
 [buttonName setTitleColor:[UIColor purpleColor] forState:UIControlStateNormal];

迅速

buttonName.titleLabel.font = UIFont(name: "LuzSans-Book", size: 15)
buttonName.tintColor = UIColor.purpleColor()
buttonName.setTitleColor(UIColor.purpleColor(), forState: .Normal)

Swift3

buttonName.titleLabel?.font = UIFont(name: "LuzSans-Book", size: 15)
buttonName.tintColor = UIColor.purple
buttonName.setTitleColor(UIColor.purple, for: .normal)

3
単にコードを投稿しないでください。コードについての説明、情報、または使用方法を説明します。たとえば、この回答を参照してください。
Azik Abdullah

3

ソリューションスウィフト3

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

ボタンのタイトル色を設定します。


1

Swift 5にUIButtonsetTitleColor(_:for:)メソッドがあります。setTitleColor(_:for:)次の宣言があります:

指定した状態に使用するタイトルの色を設定します。

func setTitleColor(_ color: UIColor?, for state: UIControlState)

以下の遊び場サンプルコードのショーはどのように作成することUIbuttonUIViewControllerし、使用してのタイトルの色を変更しますsetTitleColor(_:for:)

import UIKit
import PlaygroundSupport

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = UIColor.white

        // Create button
        let button = UIButton(type: UIButton.ButtonType.system)

        // Set button's attributes
        button.setTitle("Print 0", for: UIControl.State.normal)
        button.setTitleColor(UIColor.orange, for: UIControl.State.normal)

        // Set button's frame
        button.frame.origin = CGPoint(x: 100, y: 100)
        button.sizeToFit()

        // Add action to button
        button.addTarget(self, action: #selector(printZero(_:)), for: UIControl.Event.touchUpInside)

        // Add button to subView
        view.addSubview(button)
    }

    @objc func printZero(_ sender: UIButton) {
        print("0")
    }

}

let controller = ViewController()
PlaygroundPage.current.liveView = controller

0

Swiftを使用している場合、これは同じことを行います:

buttonName.setTitleColor(UIColor.blackColor(), forState: .Normal)

お役に立てば幸いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.