Atualização da aparência do UINavigationBar?
No meu aplicativo para iPad, tenho uma visualização das configurações do aplicativo. Uma das opções permite que o usuário alterne o esquema de cores da interface. A visualização de configurações é carregada seguindo-se para um controlador de visualização separado da janela do meu aplicativo "principal".
Quando eles escolhem uma nova cor, alterno a variável colorSchemeColor e faço isso:
// set the colors and refresh the view
[[UINavigationBar appearance] setBarTintColor:colorSchemeColor];
[[UIToolbar appearance] setBarTintColor:colorSchemeColor];
[[UITabBar appearance] setBarTintColor:colorSchemeColor];
No entanto, nenhuma das barras muda de cor até eu sair da visualização de configurações! (Quando a janela de configurações desaparece, as cores do aplicativo "principal" mudam corretamente!)
Então, tentei colocar esse código logo depois para atualizar a exibição de configurações:
[self.view setNeedsDisplay];
[self.view setNeedsLayout];
o que não ajudou. Então eu adicionei isso também:
[self.navigationController.view setNeedsDisplay];
[self.navigationController.view setNeedsLayout];
Isso também não funcionou.
Como faço para que minhas configurações sejam "redesenhadas" quando a nova cor é escolhida para que a alteração seja instantaneamente óbvia?
Muito obrigado!