ios 7 barra de status não herdar a barra de navegação cor
-
21-12-2019 - |
Pergunta
Estou tendo problemas para descobrir como fazer com que a barra de status no ios 7 para usar a cor da minha barra de navegação.Eu estou usando UINavigationController
em conjunto com o SWRevealController
biblioteca para a barra de menu de navegação.
Esta é a forma como uma página olha agora:
Eu quero que a barra de status para herdar a cor cinza da barra de navegação.Como posso fazer isso?
Solução
Você pode modificar o seu projecto de Informação.plist e definir 'View controller barra de status baseados em aparência' como NÃO
Em AppDelegate você precisa adicionar
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
para AppDelegates didFinishLaunchingWithOptions Método.
Espero que funcione para você.
Outras dicas
No iOS 7 imagem da barra de navegação altura é de 64 pixels.Você precisa criar duas imagens, uma para a barra de navegação para iOS 7 com altura de 64 pixels e outra para o iOS 6 ou menos com altura de 44 pixels
Em seguida, use este código
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)?YES:NO) {
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"your 64 image"] forBarMetrics:UIBarMetricsDefault];
}
else
{
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"your 44 image"] forBarMetrics:UIBarMetricsDefault];
}
Fazer uma exibição personalizada e defina a cor da barra de navegação para que ler, coloque esta visão sobre o lugar da barra de status, e alterar a cor de sua barra de status para transparente.Codificação feliz
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)?YES:NO) {
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"newImage.png"] forBarMetrics:UIBarMetricsDefault];
}
else
{
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"previousImage.png"] forBarMetrics:UIBarMetricsDefault];
}
Definir a barra de navegação é delegado a ser o modo de exibição atual controlador e anexar a barra de navegação na parte superior.
class ViewController: UIViewController, UINavigationBarDelegate {
@IBOutlet weak var navigationBar: UINavigationBar!
override func viewDidLoad() {
navigationBar.delegate = self
}
func positionForBar(bar: UIBarPositioning) -> UIBarPosition {
return .TopAttached
}