Como altero a cor da barra de navegação no iOS 7?
Basicamente, quero alcançar algo como a barra de navegação do Twitter (Twitter atualizado para iOS7
isso). Eu embuti uma barra de navegação no topo de uma view controller
. Tudo o que eu quero é mudar a cor da barra de navegação para azul claro junto com a barra de utilitário na parte superior. Não consigo encontrar uma opção no meu storyboard
.
ios
ios7
storyboard
uikit
uinavigationbar
Patricio Guerra
fonte
fonte
Respostas:
O comportamento de
tintColor
para barras mudou no iOS 7.0. Não afeta mais o fundo da barra.A partir da documentação:
Referência da classe barTintColor
A cor da tonalidade a ser aplicada ao fundo da barra de navegação.
Discussão
Essa cor é translúcida por padrão, a menos que você defina a propriedade translúcida como
NO
.Disponibilidade
Disponível no iOS 7.0 e posterior.
Declarado em
UINavigationBar.h
Código
Também podemos usar isso para verificar a versão do iOS como mencionado no iOS 7 UI Transition Guide
EDITAR Usando xib
fonte
É muito fácil fazer o que a pergunta original - para obter a aparência da antiga barra de navegação do Twitter, fundo azul com texto em branco - é muito fácil, basta usar o Interface Builder no Xcode.
Isso deve fazer com que você queira. Aqui está uma captura de tela que facilitaria ver onde fazer as alterações.
Observe que alterar apenas a tonalidade da barra não altera a cor do texto na barra de navegação ou na barra de status. O estilo também precisa ser alterado.
fonte
Default
eBlack
ainda estamos disponíveis no iOS 9. Os itens obsoletos foramBlackOpaque
eBlackTranslucent
, que foram substituídos por uma combinação deBlack
estilo e a caixa de seleção Translucent. UIBarStyle no site desenvolvedor da Applefonte
Em um aplicativo baseado em navegação, você pode colocar o código no AppDelegate. Um código mais detalhado pode ser:
fonte
[[UINavigationBar appearance] setBarTintColor:[UIColor barColor]];
para iOS 7Em
viewDidLoad
, defina:Mude (
blueColor
) para a cor que desejar.fonte
Para mudar rapidamente a cor da barra de navegação:
alterar fonte, tamanho e cor do título:
fonte
No iOS 7, você deve usar a propriedade -barTintColor:
fonte
Se você deseja usar um código hexadecimal, aqui está a melhor maneira de fazer isso.
Primeiro, defina isso no topo da sua classe:
Em seguida, dentro do "aplicativo didFinishLaunchingWithOptions", coloque isso:
Coloque seu código hexadecimal no lugar do 00b0f0.
fonte
Se você precisar oferecer suporte ao ios6 e ios7, obterá esse azul claro específico usando isso no seu UIViewController :
fonte
Na verdade, é mais fácil do que as respostas que eu vi aqui:
Espero que isso ajude alguém. Não gostei das respostas que vi. Eu gosto de manter meu código o mais limpo possível. Não estou dizendo que é errado fazer isso de forma programática, mas há pessoas por aí como eu ... isso é para vocês.
fonte
Para completar o código de Rajneesh071, você também pode definir a cor do título da barra de navegação (e a fonte, se desejar), pois o comportamento padrão foi alterado do iOS 6 para 7:
fonte
Adicione apenas este código no seu
ViewContorller
ou no seuAppDelegate
fonte
fonte
Em um aplicativo baseado em navegação, você pode alterar a cor
fonte
fonte
Esta pergunta e essas respostas são úteis. Com eles, fui capaz de definir a cor azul escura desejada
navigationBar
com o título branco e o texto do botão.Mas eu também precisava mudar o relógio, a portadora, a intensidade do sinal etc. para branco. O preto simplesmente não contrastava o suficiente com o azul escuro.
I pode ter esquecido que a solução em uma das respostas anteriores, mas eu era capaz de fazer essa mudança adicionando esta linha ao meu nível superior
viewController
'sviewDidLoad
:fonte
UIStatusBarStyleLightContent
funciona, mas parece que a enumeração correto parasetBarStyle:
éUIBarStyleBlack
fonte
Para cor:
Para imagem
fonte