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:

enter image description here

Eu quero que a barra de status para herdar a cor cinza da barra de navegação.Como posso fazer isso?

Foi útil?

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
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top