[ios] UIButton 제목 텍스트 색상

텍스트 색상을 설정하고 있습니다 UIButton

headingButton.titleLabel.textColor = [UIColor colorWithRed:36/255.0
                                                     green:71/255.0
                                                      blue:113/255.0
                                                     alpha:1.0];

다른 코드에서 사용중인 것과 동일한 색상이 변경되지 않습니다.



답변

사용하다

목표 -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으로 변경하십시오 .

여기에 이미지 설명을 입력하십시오

그럼 당신은 같은 속성을 설정할 수 있습니다 textColorUIFont대한 UIButton여러 상태를 들어 :

여기에 이미지 설명을 입력하십시오

그런 다음 MyButton클래스 안에 두 개의 메소드를 만들었습니다.이 메소드 UIButton는 강조 표시 된대로 표시하려면 코드 내에서 호출해야합니다 .

- (void)changeColorAsUnselection{
    [self setTitleColor:[UIColor colorFromHexString:acColorGreyDark]
               forState:UIControlStateNormal &
                        UIControlStateSelected &
                        UIControlStateHighlighted];
}

- (void)changeColorAsSelection{
    [self setTitleColor:[UIColor colorFromHexString:acColorYellow]
               forState:UIControlStateNormal &
                        UIControlStateHighlighted &
                        UIControlStateSelected];
}

의 설명서에 따라 한 번에 둘 이상의 상태가있을 수 있으므로 titleColor를 일반, 강조 표시 및 선택 으로 설정해야합니다 . 이러한 방법을 만들지 않으면 선택 또는 강조 표시가 표시되지만 내부 설정에 유지되지는 않습니다 .UIControlStateUIControlStateUIButtonUIColorUIInterface Builder 선택 자체를 표시하지 않고 짧은 선택 표시 만 할 수 있기 때문에 되지 않습니다.


답변

스위프트에서 :

라벨 텍스트 색상을 변경하는 것은의 라벨 텍스트 색상을 변경하는 것과는 다릅니다 UIButton. 사용하기 위해 텍스트 색상을 변경하려면 UIButton이 방법을 사용하십시오.

self.headingButton.setTitleColor(UIColor(red: 107.0/255.0, green: 199.0/255.0, blue: 217.0/255.0), forState: UIControlState.Normal)


답변

스위프트 5 버전 :

기본 내장 색상을 사용하여 :

  1. button.setTitleColor(UIColor.green, for: .normal)

또는

RGB 방법을 사용하여 사용자 정의 색상을 사용할 수 있습니다.

  1. button.setTitleColor(UIColor(displayP3Red: 0.0/255.0, green: 180.0/255.0, blue: 2.0/255.0, alpha: 1.0), for: .normal)

답변