Estou tentando alterar a cor do botão Configurações para branco, mas não consigo alterá-lo.
Eu tentei os dois:
navigationItem.leftBarButtonItem?.tintColor = UIColor.whiteColor()
navigationItem.backBarButtonItem?.tintColor = UIColor.whiteColor()
mas nenhuma mudança, ainda fica assim:
Como faço para tornar esse botão branco?
ios
swift
uinavigationbar
uibarbuttonitem
backbarbuttonitem
Brandon Evans
fonte
fonte
AppDelegate.swift > application(application:didFinishLaunchingWithOptions:)
você pode escrever:self.window!.tintColor = .yourColor
Este código altera a cor da seta
Se isso não funcionar, use o código abaixo:
Swift 3 Notes
UIColor.whiteColor()
e similares foram simplificados paraUIColor.white
Além disso, muitos opcionais implícitos anteriormente foram alterados para explícitos; portanto, você pode precisar de:
fonte
self.navigationController?.navigationBar.tintColor = UIColor.whiteColor()
funcionou para mim (Swift 2.2)Muito fácil de configurar no storyboard:
fonte
Você deve usar isto:
fonte
Rápido
fonte
Você pode usar como este. Coloque-o dentro
AppDelegate.swift
.fonte
Swift 4.2
Alterar o tema completo do aplicativo
Alterar controlador específico
fonte
UINavigationController
?No Swift3 , Para definir o botão Voltar para
red
.fonte
No Swift 4, você pode resolver esse problema usando:
fonte
Swift 3
A resposta mais votada não está correta para o Swift 3.
O código correto para mudar de cor é:
Se você deseja alterar a cor, altere UIColor.white acima para a cor desejada
fonte
Todas as respostas configuradas
UINavigationBar.appearance().tintColor
entram em conflito com a documentação da Apple emUIAppearance.h
.No Xcode, você precisa clicar com o botão direito do mouse em cada propriedade que deseja usar com o proxy de aparência para inspecionar o arquivo de cabeçalho e garantir que a propriedade esteja anotada
UI_APPEARANCE_SELECTOR
.Portanto, a maneira correta de colorir a barra de navegação de roxo e o título e os botões brancos em todo o aplicativo por meio do proxy de aparência é:
Observe que
UIBarButtonItem
não é uma subclasse deUIView
mas simNSObject
. Portanto, suatintColor
propriedade não é a herdadatintColor
deUIView
.Infelizmente,
UIBarButtonItem.tintColor
não é anotado comUI_APPEARANCE_SELECTOR
- mas isso me parece um bug de documentação. A resposta da Apple Engineering neste radar afirma que é suportada.fonte
Este trecho faz a mágica. Em vez da redColor, altere-a como desejar.
fonte
Use esse código na
AppDelegate
classe, dentro dedidFinishLaunchingWithOptions
.fonte
Vamos tentar este código:
fonte
no uso rápido 2.0
fonte
Se você já possui o botão Voltar no seu controlador de exibição "Configurações" e deseja alterar a cor do botão Voltar no controlador de exibição "Informações de pagamento" para outra coisa, você pode fazê-lo dentro do modo de exibição "Configurações" do controlador que se prepara para seguir assim :
fonte
Isso funciona para mim, iOS 9.0 ou superior
fonte
Adicione o seguinte código para didFinishLaunchingWithOptions função em AppDelegate.swift
fonte
Para o Swift 2.0, Para alterar a cor da tonalidade da barra de navegação , o texto do título e a cor da tonalidade do botão Voltar alterados usando o seguinte em AppDelegate.swift
fonte
Não sei por que ninguém mencionou isso ... mas eu estava fazendo exatamente o que você estava fazendo no meu
viewDidLoad
... e não estava funcionando. Então eu coloquei meu códigoviewWillAppear
e tudo funcionou.A solução acima é alterar um único item de barbutton. Se você deseja alterar a cor de cada barra de navegação no seu código, siga esta resposta .
Basicamente, mudar para a própria classe usando
appearance()
é como fazer uma alteração global em todas as instâncias dessa exibição no seu aplicativo. Para mais veja aquifonte
Você tem uma opção para ocultar o botão Voltar e fazê-lo com você mesmo. Em seguida, defina sua cor.
Eu fiz isso:
fonte
Será resolvido com esta linha em - (void) viewDidLoad:
fonte
(lldb) p self.navigationItem.backBarButtonItem (UIBarButtonItem *) $9 = nil (lldb)
Você deve adicionar esta linha
fonte
Prefiro o NavigationController personalizado em vez de definir a interface do usuário global ou colocar o ViewController.
Aqui está a minha solução
Além disso, você não precisa mexer com a Apple Api como EKEventEditViewController , PickerViewController e assim por diante, se você usar configurações globais da interface do usuário como
UIBarButtonItem.appearance().tintColor = .white
fonte
fonte