Frage

Ich habe eine meist-Navigationsleiste gesteuerte Anwendung. Einige Fälle erfordern die Vorlage eines modalen Ansicht, und einer jener Fälle, erfordert das Versteck der Statusleiste. Aber selbst wenn ich die Statusleiste vor der Vorlage die modale Ansicht verstecken, wobei die Ansicht um 20 Pixel versetzt ist.

Auch wenn ich den Rahmen der modalen Ansicht auf 0 gesetzt, -20320480 nach der Ansicht angezeigt wird, schneidet er die Spitze der Ansicht aus.

ich auch der Benutzer möchte die Statusleiste in der Lage sein zu zeigen (und eine Symbolleiste) auf den Bildschirm tippen, viel die Art und Weise der Video-Player funktioniert. Also habe ich den Stil schwarz transparent für diesen Bildschirm, und ich hoffe, dass sich versteckt oder zeigt die Statusleiste nicht die Ansicht verursachen würde auf und ab zu springen.

War es hilfreich?

Lösung

Sehen von Sie Ihren Kommentar unten, die Sie abzielen iPhone OS 2.x, habe ich einen Vorschlag, die helfen könnten.

Bevor Sie modale Ansicht präsentiert, etwas tun, wie folgt aus:

  [[UIApplication sharedApplication] setStatusBarHidden:YES animated:YES];
  [[self view] setFrame:CGRectMake(0, 0, 320, 480)];

Stellen Sie sicher, dass Ihre modal Ansicht ist tatsächlich 480px groß - eine Zeit, die ich durch den leeren 20px Platz am unteren Ende zum Narren gehalten wurde. Es stellte sich heraus, es war, weil meiner Ansicht nach noch war 460PX groß (zur Berücksichtigung von der Statusleiste) so dass der Code tatsächlich funktioniert, aber meiner Meinung nach war nicht die richtige Höhe.

Wenn Sie Ihre modal Ansicht versteckt, das funktioniert:

[[UIApplication sharedApplication] setStatusBarHidden:NO animated:YES];
[[self view] setFrame:CGRectMake(0, 20, 320, 460)];

Sie müssen möglicherweise den Code ein wenig drehen, wenn Sie presentModalViewController verwenden - ich dieses -addSubview mit ausprobiert, weil ich eine benutzerdefinierte Animation wurde mit. Aber die grundlegenden Prinzipien sollten gleich sein (das heißt der Rahmen übergeordneten Ansicht des ändern).

Andere Tipps

Haben Sie sich in die wantsFullScreenLayout Eigenschaft auf UIViewControllers?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top