Quero alterar meus itens da barra de guias para rosa quando selecionados, em vez do azul padrão.
Como posso fazer isso usando o editor de storyboard no Xcode 6?
Aqui está minha configuração atual que não está funcionando, o fundo azul funciona, mas o rosa não funciona:
Respostas:
Adicione o atributo Runtime Color chamado "tintColor" no StoryBoard. Isso está funcionando ( para o Xcode 8 e superior ).
se você quiser cores desmarcadas, pode adicionar
unselectedItemTintColor
também.fonte
UITabBarItem
, noUINavigationController
conectado à minha tabBar e ele funciona perfeitamente. Tudo sem escrever nenhum código também, o que é ótimo, pois estou reutilizando uma classe de VC três vezes. Obrigado!Esta solução elegante funciona muito bem no SWIFT 3.0 , SWIFT 4.2 e SWIFT 5.1 :
No Storyboard:
Edit: Trabalhando com o Xcode 8/10, para iOS 10/12 e superior .
fonte
No Swift, usando o xcode 7 (e posterior), você pode adicionar o seguinte ao seu arquivo AppDelegate.swift:
É assim que o método completo se parece:
No exemplo acima, meu item será branco. O "/255.0" é necessário porque espera um valor de 0 a 1. Para o branco, eu poderia ter usado apenas 1. Mas para outras cores, você provavelmente estará usando valores RGB.
fonte
Em
Xcode8
Eu mudei oImageTint
do storyboard e funciona bem.O resultado:
fonte
Swift 3 | Xcode 10
Se você deseja tornar todos os itens da barra de guias da mesma cor (marcados e desmarcados) ...
Passo 1
Verifique se os recursos da imagem estão configurados para Renderizar como = imagem do modelo . Isso permite que eles herdem cores.
Passo 2
Use o editor de storyboard para alterar as configurações da barra de guias da seguinte maneira:
etapa 3
Os passos 1 e 2 mudam a cor do ícone selecionado. Se você ainda deseja alterar a cor dos itens não selecionados, é necessário fazê-lo no código. Não encontrei uma maneira de fazer isso através do editor de storyboard.
Crie uma classe de controlador de barra de guia personalizada ...
... e atribua a classe personalizada ao seu controlador de cena da barra de guias.
Se você descobrir como alterar a cor do ícone não selecionado por meio do editor de storyboard, informe-me. Obrigado!
fonte
self.tabBar.unselectedItemTintColor = UIColor.white
self.tabBar.tintColor = #colorLiteral(red: 0.2, green: 0.7333333333, blue: 0.3450980392, alpha: 1)
Trabalhe para mimcoloque esse código no viewDidLoad do controlador de exibição do qual você deseja alterar a cor de
fonte
Você também pode definir a cor da tonalidade da barra de imagem selecionada pelo caminho da tecla:
Espero que isso ajude você !! obrigado
fonte
XCode 8.2, iOS 10, Swift 3: agora há um
unselectedItemTintColor
atributo paratabBar
:fonte
Você pode alterar as cores UITabBarItem por storyboard, mas se quiser alterar as cores por código, é muito fácil:
// Use isso para alterar a cor da barra selecionada
// Barra não selecionada para alteração (iOS 10)
// E esta linha para alterar a cor de todas as barras de tabulação
fonte
De alguma forma, não somos capazes de alterar a cor da tonalidade do item selecionado da barra de guias usando o storyboard sozinho; portanto, adicionei o código abaixo no meu ViewDidLoad, espero que ajude.
fonte
Adicione este código à função delegar -did_finish_launching_with_options do aplicativo
coloque o RGB da cor desejada
fonte
Esta é a solução no Swift 3 que funciona no iOS 10:
Primeiramente, você cria sua própria subclasse de controlador de barra de tabulação e a adiciona ao seu controlador de tabulação no storyboard. No
viewDidLoad()
método, você pode personalizar a barra de guias. Deve-se afirmar aqui que otintColor
atributo dotabBar
representa a cor do item selecionado e não a cor dos itens não selecionados! Para alterar a cor dos itens não selecionados, recomendo percorrer cada item e usar as cores originais das suas imagens, para que elas não sejam renderizadas automaticamente em cinza.A única desvantagem dessa abordagem é que as imagens dos itens já devem ter a cor desejada para a qual você deseja.
fonte
A melhor maneira é mudar
Image Tint
no storyboardfonte
Você pode subclassificar
UITabBarController
e substituí-lo pelo storyboard. Na suaviewDidLoad
implementação da subclasse, chame isso:fonte
'UITabBar' does not have a member named 'setSelectedImageTintColor'
self.tabBar.setSelectedImageTintColor = UIColor.greenColor
não tenho certeza se isso é correto ou nãotintColor
nãoselectedImageTintColor
, btwselectedImageTintColor
está obsoleta no iOS 8.