Machen iPhone status bar verschwinden, wenn die Anzeige eines modalen view?
Möchte ich anzeigen, um eine modale Ansicht, und wollen, dass es zur Abdeckung der iPhone-Statusleiste.
Ich habe versucht, den modal-view-controller ist wantsFullScreenLayout-Eigenschaft auf JA, ich habe auch seine Eltern-Eigenschaft auf JA auch. Das funktioniert nicht, vermutlich, weil die modal-Sicht wird unten im Hauptfenster die Inhalte, die auch die status-bar.
Mein zweiter Ansatz ließ die ganze "wantsFullScreenLayout" - Technik zu Gunsten ausblenden der Statusleiste kurz vor der modal-Ansicht angezeigt ist, dann drehen Sie es wieder auf, nachdem die modal view geschlossen wird. Dies funktioniert bis zum Ende...der modal-Ansicht übergeordneten Ansicht angeordnet ist falsch (navigation bar ist teilweise versteckt hinter der Statusleiste.) Aufruf -[view setNeedsLayout] tut nichts.
Wie gehe ich dieses problem?
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werden Sie wollen die
- (void)setStatusBarHidden:(BOOL)hidden animated:(BOOL)animated
auf dieUIApplication
Klasse.Etwas wie dieses:
Sollte ausblenden der Statusleiste mit einem schönen fade-animation.
setNeedsDisplay
, aber ich kann noch nichts Versprechen.Eintritt in die discusion zu spät, aber ich denke, ich kann speichern andere Schwierigkeiten.
Ich habe einen VC mehrere stösst in eine NavController (nennen wir Sie, dass VC die ELTERN). Jetzt möchte ich die Anzeige eines modalen Bildschirm (das KIND) mit der nav-Leiste UND die Statusleiste ausgeblendet. Nach viel Experimentieren, ich weiß, das funktioniert...
1) Weil ich das KIND VC durch den Aufruf
presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated
in der ÜBERGEORDNETEN, die nav-bar nicht mehr (keine Notwendigkeit, es zu verbergen).2) wird Die Ansicht im CHILD-VC-Feder ist so bemessen, 320x480.
3) Das KIND VC-sets
self.wantsFullScreenLayout = YES;
imviewDidLoad
4) kurz vor der Präsentation das KIND, blenden Sie die Statusleiste mit
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:YES];
5) schließen Sie die UNTERGEORDNETE VC mit einem delegate-Protokoll Methoden in der ELTERN-und call -
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:YES];
vordismissModalViewControllerAnimated:YES]
um sicherzustellen, dass die nav bar gezogen, in die richtige LageHoffe, das hilft.
- (void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation
. Sie schickte das zweite argument ist ein BOOLESCHER Wert, der anstelle eines UIStatusBarAnimation.