Domanda

L'app per iPhone che sto sviluppando in modalità paesaggio è seriamente soffocando. L'ho messo nel ritratto per il confronto e sembra funzionare molto più fluido in quell'orientamento. Non sto facendo quello che penso sia ad alta intensità di processo: una vista mappa, alcuni pulsanti, alcune etichette e alcuni disegni al quarzo, ma alcune animazioni di quarzo di base rallentano seriamente molto male.

Qualcuno sa se la modalità paesaggista è terribilmente handicap rispetto al ritratto e/o in tal caso, se ci sono modi migliori per creare un'app paesaggistica? Uso semplicemente una vista ruotata radicata trasformata a 90 gradi e collego tutte le mie viste secondarie ad essa.

Grazie.

È stato utile?

Soluzione

Non dovrebbe esserci alcuna differenza reale tra orientamenti del paesaggio e dei ritratti quando si tratta di rendering performance. Stai usando una trasformazione per ruotare la vista principale di 90 gradi? A partire da iPhone OS 2.1, credo, non è più necessario applicare manualmente una trasformazione alla tua vista principale per farla iniziare nel paesaggio. Tutto quello che dovevo fare per forzare l'orientamento del paesaggio era posizionare questo metodo delegato all'interno del mio delegato di applicazione:

- (void)application:(UIApplication *)application willChangeStatusBarOrientation:(UIInterfaceOrientation)newStatusBarOrientation duration:(NSTimeInterval)duration;
{
    // This prevents the view from autorotating to portrait in the simulator
    if ((newStatusBarOrientation == UIInterfaceOrientationPortrait) || (newStatusBarOrientation == UIInterfaceOrientationPortraitUpsideDown))
        [application setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:NO];
}

E quanto segue nel mio controller di visione root:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{
    return ( (interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight));
}

Altri suggerimenti

Forse fai alcune divisioni che si traducono in posizioni di pixel non interi (come 0,76). Ho avuto alcuni problemi con le prestazioni quando avevo posizioni di pixel non interi. (Anche se non sono del tutto sicuro che siano collegati. Ma forse ti aiuta)

Grazie per tutti i tuoi suggerimenti e aiuto, tutti. Ho provato il suggerimento di Brad di impostare le impostazioni di autorotazione del controller di visualizzazione e ha funzionato molto bene. Penso che sia stato un grande fattore che contribuisce al rallentamento.

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