Quero definir o plano de fundo para a Barra de Navegação ser preta e todas as cores dentro dela serem brancas .
Então, eu usei este código:
[[UINavigationBar appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor],
NSForegroundColorAttributeName,
[UIColor whiteColor],
NSForegroundColorAttributeName,
[NSValue valueWithUIOffset:UIOffsetMake(0, -1)],
NSForegroundColorAttributeName,
[UIFont fontWithName:@"Arial-Bold" size:0.0],
NSFontAttributeName,
nil]];
Mas botão voltar a cor do texto , seta e botão da barra de ainda ter o padrão de cor azul .
Como mudar essas cores como na imagem abaixo?
Respostas:
O comportamento de algumas das propriedades de
UINavigationBar
foi alterado a partir do iOS 7 . Você pode ver na imagem mostrada abaixo:Dois belos links que eu gostaria de compartilhar com você. Para mais detalhes, você pode acessar estes links:
A documentação da Apple para barTintColor diz:
Código de amostra :
fonte
[self.navigationController.navigationBar setTitleTextAttributes:@{[UIFont fontWithName:@"YOURFONT" size:14], NSFontAttributeName}];
Este me levou cerca de meio dia para descobrir, mas é isso que funcionou para mim. Dentro do rootViewController que inicializa o navigationController, coloquei esse código dentro do meu método viewDidAppear:
Meu post completo sobre isso aqui
fonte
Swift3, ios 10
Para atribuir globalmente a cor, no AppDelegate
didFinishLaunchingWithOptions
:Swift 4, iOS 11
fonte
A resposta de Vin funcionou muito bem para mim. Aqui está a mesma solução para desenvolvedores de C # que usam Xamarin.iOS / MonoTouch:
fonte
Swift / iOS8
fonte
fonte
Para alterar a cor do
UINavigationBar
título da maneira correta, use este código:UITextAttributeTextColor
foi descontinuado na versão mais recente do ios 7. Use emNSForegroundColorAttributeName
vez disso.fonte
Se você deseja alterar o tamanho do texto do título e a cor do texto, altere o titleTextAttributes do NSDictionary , para dois de seus objetos:
fonte
Acho que as respostas anteriores estão corretas, essa é outra maneira de fazer a mesma coisa. Estou compartilhando aqui com outras pessoas, caso seja útil para alguém. É assim que você pode alterar a cor do texto / título da barra de navegação no ios7:
fonte
Parece que os
Accessibility
controlesiOS Settings
substituem praticamente tudo o que você tenta fazer em termos de cores nos botões da barra de navegação. Certifique-se de ter todas as configurações nas posições padrão (defina aumentar contraste, texto em negrito , formas de botão, etc. como desativado), caso contrário você não verá nada mudar. Depois que o fiz, todo o código de alteração de cores começou a funcionar como esperado. Você pode não precisar desligá-los, mas eu não fui adiante.fonte
Swift 5 / iOS 13
Para alterar a cor do título no controlador:
fonte