Ho diversi UIViewControllers, caricati tramite un UINavigationController, dove sovrascrivo loadView e imposto una visualizzazione personalizzata da visualizzare. Ho problemi con l'impostazione dei fotogrammi di alcune delle sotto-visualizzazioni e forse la vista stessa. Penso che UINavigationController o UIViewController sia in grado di forzare la sua vista a riempire lo schermo quando viene visualizzato.UIViewController o UINavigationController impostano le dimensioni della vista?
Mi chiedo se e/o quando è impostata la dimensione della vista. E se sta accadendo, sta impostando la cornice della vista, o facendolo in un altro modo.
Grazie.
Aggiornamento: ho appena notato mentre si lavora con questo è che faccio un nuovo UINavigationController, con questo metodo loadview:
- (void)loadView
{
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(10.0f, 10.0f, 10.0f, 10.0f)];
[view setBackgroundColor:[UIColor redColor]];
self.view = view;
[view release];
}
ottengo una vista rosso occupare l'intero schermo, fatta eccezione per lo stato di barra e intestazione. Quando la mia vista viene ridimensionata per riempire lo schermo? E che taglia dovrei usare quando creo la vista?
Grazie, per il chiarimento. Quando si carica la mia vista in una vista di controllo loadView, quando viene spinto tramite un UINavigationController, devo semplicemente impostare il frame come CGRectMake (0.0, 0.0, 320.0, 416.0)? Come in Non ho bisogno di compensare la coordinata dell'origine del telaio per UINavigationBar o la barra di stato? – Ryan
La parte inferiore della barra di navigazione diventa la nuova origine X, Y per i controllori di vista, è sufficiente compensare l'altezza regolata. Per essere sicuri delle dimensioni, utilizzare 'NSLog (@" wxh =% fx% f ", self.view.frame.size.width, self.view.frame.size.height);' – Wolfert
Grazie, che lo chiarisce per me. Mi sto ancora chiedendo quando la vista viene cambiata. Perché anche se imposto la dimensione errata in loadView viene modificata in modo che sia la dimensione corretta. Accetterò la tua risposta, poiché mi fa andare avanti. Grazie ancora. – Ryan