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)




textcolor