답변:
사용하다
목표 -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
클래스 안에 두 개의 메소드를 만들었습니다.이 메소드 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
선택 자체를 표시하지 않고 짧은 선택 표시 만 할 수 있기 때문에 되지 않습니다.
|
대신에 사용해서는 안 &
됩니까?
스위프트에서 :
라벨 텍스트 색상을 변경하는 것은의 라벨 텍스트 색상을 변경하는 것과는 다릅니다 UIButton
. 사용하기 위해 텍스트 색상을 변경하려면 UIButton
이 방법을 사용하십시오.
self.headingButton.setTitleColor(UIColor(red: 107.0/255.0, green: 199.0/255.0, blue: 217.0/255.0), forState: UIControlState.Normal)