2017-10-04 2 views

Répondre

1

peut être sa solution pas parfaite & mais j'avais vieux projet en ce que je l'avais fixé par le code ci-dessous. Juste position mise à jour de la barre de navigation et cadre de vue de la navigation pour la version ios> 11.

CGRect navbarFrame = self.navigationController.navigationBar.frame; 
CGRect navFrame = self.navigationController.view.frame; 
navbarFrame.size.height = 44; 
navFrame.origin.y = 20; 
self.navigationController.navigationBar.frame = navbarFrame; 
self.navigationController.view.frame = navFrame; 
+1

Réglage du cadre navigationBar résolu mes Xcode 9 malheurs de la barre de navigation – funkybro

0

J'ai eu le même problème mais je ne pouvais pas trouver une solution de travail avec ou avec une empiècements approche basée sur la mise en page. En fin de compte, un rapide travail a été de créer une image de fond secondaire et de remplir le haut du fond d'origine avec 20px avec la couleur précédente de votre barre d'état (noire dans votre cas).

Je le code simplement ajouté pour changer l'image en fonction si c'est iOS 11+ comme ceci:

NSString* navBarImg = @"navbar.png"; 

if (@available(iOS 11.0, *)) { 
    navBarImg = @"navbar_ios11.png"; 
} 

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:navBarImg] forBarMetrics:UIBarMetricsDefault]; 

Cela peut ne pas fonctionner ou besoin tweaks en fonction si la visibilité de la barre d'état est affiché/caché à certains points. Espérons que cela aidera jusqu'à ce qu'une meilleure approche soit découverte.