style - uikit ios
Cor do texto do título UIButton (2)
Estou definindo a cor do texto para o UIButton
headingButton.titleLabel.textColor = [UIColor colorWithRed:36/255.0
green:71/255.0
blue:113/255.0
alpha:1.0];
Não está mudando de cor o mesmo código que estou usando em outro código que está funcionando.
Eu criei uma classe personalizada MyButton estendida de UIButton
. Em seguida, adicionou isso dentro do Identity Inspector
:
Depois disso, altere o tipo de botão para Personalizado :
Em seguida, você pode definir atributos como textColor
e UIFont
para o seu UIButton
para os diferentes estados:
Então eu também criei dois métodos dentro da classe MyButton
que eu tenho que chamar dentro do meu código quando eu quero que um UIButton
seja mostrado como destacado:
- (void)changeColorAsUnselection{
[self setTitleColor:[UIColor colorFromHexString:acColorGreyDark]
forState:UIControlStateNormal &
UIControlStateSelected &
UIControlStateHighlighted];
}
- (void)changeColorAsSelection{
[self setTitleColor:[UIColor colorFromHexString:acColorYellow]
forState:UIControlStateNormal &
UIControlStateHighlighted &
UIControlStateSelected];
}
Você deve definir o titleColor
para normal, realçar e selecionar UIControlState
pois pode haver mais de um estado por vez, de acordo com a documentação do UIControlState
. Se você não criar esses métodos, o UIButton
exibirá seleção ou realce, mas eles não permanecerão no UIColor
você configurou dentro do UIInterface Builder
porque eles estão disponíveis apenas para uma exibição curta de uma seleção, não para exibir a própria seleção.
usar
Objetivo-C
[headingButton setTitleColor:[UIColor colorWithRed:36/255.0 green:71/255.0 blue:113/255.0 alpha:1.0] forState:UIControlStateNormal];
Rápido
headingButton.setTitleColor(.black, for: .normal)