iPhone: espace étrange au sommet de UINavigationController
J'ai un problème étrange avec l'ajout d'un UINavigationController à mon application iPhone. J'ai ajouter le contrôleur comme suit:
myViewController *viewController = [[myViewController alloc] initWithNibName:@"myView" bundle:nil];
myNavigationViewController *navigationController = [[myNavigationViewController alloc] initWithRootViewController:viewController];
UIView *finalView = myeNavigationViewController.view;
[self.view addSubview:finalView];
Tous semble fonctionner comme prévu, sauf que je reçois un étrange espace blanc en haut de mon point de vue, entre la barre d'état et la UINavigationController barre de titre.
le texte d'alt http://www.andrewskinner.name/problem.png
J'ai cherché en ligne, mais ne savez pas vraiment quoi chercher. Quelqu'un d'autre a eu ce problème? Pouvez-vous m'indiquer la direction de l'aide?
Merci d'avance.
source d'informationauteur andrewdotcom
Vous devez vous connecter pour publier un commentaire.
Découvrez les réponses à cette question:
Je ne sais pas pourquoi UIView est poussé par autour de 10px
Ce ne la ligne
ajouter le code? C'est redondant comme vous pouvez l'ajouter directement, sans l'affecter à un UIView première - et en plus c'est incorrect, car elle fait référence à la myNavigationController et pas navigationController..
J'ai tendance à faire ce
Le cadre de l'limites supprime également l'espace blanc en haut vous posiez des questions sur.
Le problème est que UINavigationController devraient idéalement être directe de la sous-vue de UIWindow. Il en va de la position et de la taille de droit par lui-même. Lorsque vous ajoutez UINavigationController dans un autre affichage personnalisé d'un UIWindow sous-vue, vous avez besoin de prendre soin de la position et de la taille de cet affichage personnalisé en tenant compte du fait que la barre d'état est affichée ou non dans le UIWindow.
Ma suggestion est de faire de l'affichage personnalisé comme une sous-classe de UINavigationController:
et à l'intérieur de la mySubClass_NavigationController, vous pouvez faire toutes les personnalisations que vous êtes en ce moment dans votre auto (quel que soit le contrôleur est).
J'ai du mal avec ce trop pendant un certain temps à l'aide de très semblable code de l'op et a également eu une barre blanche au-dessus de ma manette de navigation.
Mon problème est survenu lors de l'ajout de la UINavigationController comme un point de vue dans un UITabController. L'espace dans mon cas a été causé par le UINavigationBar partie de la UINavigationController en tenant compte de la barre d'état et il a été fait qui se chevauchent une partie de la vue que j'ai essayé de le montrer dans la UINavigationController.
C'est le code que j'ai fini avec en loadView dans un de mes UITabBarController vue des contrôleurs.
Il y a un peu plus d'informations à http://discussions.apple.com/message.jspa?messageID=7890362.
Il y a une obscure de la propriété de l'IB appelé "Cache en Bas de la Barre Push". Il suffit de la cocher. Il a résolu le problème pour moi.
Peut-être vous avez en quelque sorte vous-même obtenu deux UIViews,
chacun avec une barre d'état. De vérifier la xib.