iPhone: Weird Platz an der Spitze der UINavigationController
Ich habe ein seltsames problem mit dem hinzufügen eines UINavigationController meiner iPhone-Anwendung. Ich Stell den controller wie folgt:
myViewController *viewController = [[myViewController alloc] initWithNibName:@"myView" bundle:nil];
myNavigationViewController *navigationController = [[myNavigationViewController alloc] initWithRootViewController:viewController];
UIView *finalView = myeNavigationViewController.view;
[self.view addSubview:finalView];
Alles scheint zu funktionieren, wie geplant, außer ich bekomme einen seltsamen weißen Raum an der Spitze meiner Sicht zwischen der Statusleiste und den UINavigationController-Titelleiste.
alt-text http://www.andrewskinner.name/problem.png
Habe ich online recherchiert, aber nicht wirklich wissen, was Sie suchen. Hat sonst noch jemand dieses problem gehabt? Kannst du mir in der Richtung etwas Hilfe?
Vielen Dank im Voraus.
InformationsquelleAutor der Frage andrewdotcom | 2009-06-24
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schauen Sie sich die Antworten in dieser Frage:
Nicht sicher, warum UIView wird stupste mit rund 10px
InformationsquelleAutor der Antwort mac_55
Was hat die Linie
hinzufügen, um den code? Es ist überflüssig wie können Sie die Ansicht direkt ohne Zuordnung zu einem UIView erste - außerdem ist es falsch, denn es verweist auf die myNavigationController und nicht navigationController..
Ich Neige dazu, dies zu tun
Einstellung der frame an den Grenzen entfernt auch die Leerzeichen an der Spitze Sie gefragt wurden.
InformationsquelleAutor der Antwort Craig
Das Problem ist, dass UINavigationController im Idealfall sollte die direkte Untersicht UIWindow. Es wird die position und die Größe Recht von selbst. Wenn Sie hinzufügen UINavigationController in eine andere benutzerdefinierte Ansicht einer UIWindow Untersicht, die Sie brauchen zu kümmern, die position und die Größe der diese benutzerdefinierte Ansicht unter Berücksichtigung, ob die Statusleiste angezeigt wird oder nicht in der UIWindow.
Mein Vorschlag ist, stellen Sie die benutzerdefinierte Ansicht als eine Unterklasse von UINavigationController:
innen die mySubClass_NavigationController, Sie können alles tun, die Anpassung, die Sie jetzt tut, in Ihr selbst (was auch immer, der controller ist).
InformationsquelleAutor der Antwort Wayne Lo
Ich kämpfte mit diesem für eine Weile, auch mit sehr ähnlichen code, um die op ' s und hatte auch eine weiße Leiste oben meine navigation-controller.
Mein problem ist aufgetreten beim hinzufügen des UINavigationController-wie ein Blick in eine UITabController. Der Raum, in meinem Fall wurde verursacht durch die UINavigationBar Teil des UINavigationController unter Berücksichtigung der Statusleiste, und es war eigentlich überlappende Teil der Ansicht, dass ich versucht habe zu zeigen, in der UINavigationController.
Dies ist der code landete ich mit in loadView in einem meiner UITabBarController view-Controller.
Gibt ' s einige weitere Informationen zu http://discussions.apple.com/message.jspa?messageID=7890362.
InformationsquelleAutor der Antwort Shane
Gibt es eine obskure Eigenschaft bei der IB als "Versteckt Unteren Leiste auf "Push". Prüfen Sie es einfach. Es löste das problem für mich.
InformationsquelleAutor der Antwort jpaquete
Haben Sie vielleicht irgendwie selbst bekommen zwei UIViews,
mit jeweils einer status bar. Überprüfen Sie die xib.
InformationsquelleAutor der Antwort Rhythmic Fistman