UIButton의 제목 텍스트 색상을 설정하는 방법은 무엇입니까?


124

버튼의 텍스트 색상을 변경해 보았지만 여전히 흰색으로 유지됩니다.

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)

나는 또한 그것을 빨강, 검정, 파랑으로 변경하려고 시도했지만 아무 일도 일어나지 않습니다.

답변:


282

func setTitleColor(_ color: UIColor?, for state: UIControlState)실제 제목 텍스트를 설정하는 것과 동일한 방법 을 사용해야 합니다. 문서

isbeauty.setTitleColor(UIColorFromRGB("F21B3F"), for: .normal)

가독성을 위해 저는 열거 형을 한정하는 것을 선호하지 않습니다.하지만 그저 저입니다
styler1972

@ styler1972 나도 그것을 선호한다 – 내가 처음에 답을 썼을 때 나는 그것을 몰랐던 것 같다
luk2302

1
isbeauty.setTitleColor (UIColorFromRGB (rgbValue : "F21B3F"), for : .Normal)
Arunabh Das 2017-10-27

3
xcode 9부터는 ".Normal"대신 ".normal"이라고 생각합니다.
Buddhisthead

4
내 코드 : yourButtonName.setTitleColor (UIColor.red에 대한 : .normal)
devgrg

111

Swift UI 솔루션

Button(action: {}) {
            Text("Button")
        }.foregroundColor(Color(red: 1.0, green: 0.0, blue: 0.0))

스위프트 3, 스위프트 4, 스위프트 5

댓글을 개선합니다. 이것은 작동합니다.

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

10

버튼 제목 색상 설정 예

btnDone.setTitleColor(.black, for: .normal)

8
내 대답과 당신 대답의 차이점은 무엇입니까?
Vyacheslav

3

이것은 신속한 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 색상 코드에서 사용자 정의 색상을 저장하고 애플리케이션 전체에서 재사용 할 수 있습니다.


2
func setTitleColor(_ color: UIColor?, 
               for state: UIControl.State)

매개 변수 :

color :
지정된 상태에 사용할 제목의 색상입니다.

state :
지정된 색상을 사용하는 상태입니다. 가능한 값은 UIControl.State에 설명되어 있습니다.

샘플 :

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

0

라디오 버튼을 참조하면 다음과 같이 Segmented Control을 사용할 수도 있습니다.

1 단계 : 세그먼트 화 된 컨트롤을 속성 검사기의보기로 드래그하여 두 세그먼트의 제목을 변경합니다 (예 : "남성"및 "여성").

2 단계 : 코드에서 콘센트 및 작업 생성

3 단계 : 선택의 데이터를 포함하기 위해 나중에 사용할 변수 만들기

코드에서 다음과 같이하십시오.

@IBOutlet weak var genderSeg: UISegmentedControl!

var genderPick : String = ""


 @IBAction func segAction(_ sender: Any) {

    if genderSeg.selectedSegmentIndex == 0 {
         genderPick = "Male"
        print(genderPick)
    } else if genderSeg.selectedSegmentIndex == 1 {
        genderPick = "Female"
          print(genderPick)
    }
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.