Domanda

Ho un'applicazione basata principalmente sulla barra di navigazione. Alcuni casi richiedono la presentazione di una vista modale e uno di questi casi richiede il nascondimento della barra di stato. Tuttavia, anche se nascondo la barra di stato prima di presentare la vista modale, la vista viene spostata di 20 pixel.

Anche se imposto il fotogramma della vista modale su 0, -20.320.480 dopo la visualizzazione della vista, taglia la parte superiore della vista.

Voglio anche che l'utente sia in grado di rivelare la barra di stato (e una barra degli strumenti) toccando lo schermo, proprio come funziona il lettore video. Quindi ho impostato lo stile su nero trasparente per questa schermata e spero che nascondere o mostrare la barra di stato non causi il salto della vista su e giù.

È stato utile?

Soluzione

Visto dal tuo commento qui sotto che stai prendendo di mira iPhone OS 2.x, ho un suggerimento che potrebbe aiutarti.

Prima di presentare la tua vista modale, fai qualcosa del genere:

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

Assicurati che la tua vista modale sia effettivamente alta 480px - una volta sono stato ingannato dallo spazio vuoto di 20px in basso. Si è scoperto che la mia vista era ancora alta 460 px (per tenere conto della barra di stato), quindi il codice ha funzionato, ma la mia vista non era all'altezza giusta.

Quando nascondi la tua vista modale, funziona:

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

Potrebbe essere necessario modificare leggermente il codice se si utilizza presentModalViewController - L'ho provato utilizzando -addSubview perché utilizzavo un'animazione personalizzata. Ma i principi di base dovrebbero essere gli stessi (ovvero cambiare il frame della vista principale).

Altri suggerimenti

Hai esaminato wantsFullScreenLayout su UIViewControllers?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top