2013-02-07 12 views
5

Sto lavorando al progetto mirato su iOS 5.0. Stava andando tutto bene fino a quando ho aggiornato il mioProblema di sfarfallio della schermata in iOS 6.1

versione del dispositivo a iOS 6.1 .In questa nuova versione Sto affrontando qualche problema tremolante in una

particolare screen.What che sto facendo è la seguente

dispatch_async(dispatch_get_main_queue(), ^{    

    [APPINSTANCE performSelector:@selector(loadFadingScreenFromController:)  
    withObject:self afterDelay:0.2];//Method in AppDelegate to for db sync 
    [APPINSTANCE setSyncFrom: @"ORDERS"]; 
}); 

//pushing a view 
OrderList *orderListObj = [[OrderList alloc] initWithNibName:@"OrderList" bundle:nil]; 
[self.navigationController pushViewController:orderListObj animated:YES]; 
self.navigationController.navigationBarHidden = NO; 

Dopo aver fatto ciò, ho uno strano sfarfallio sullo schermo del mio iPhone. Lo sfarfallio si verifica solo

con iOS 6.1, versioni inferiori a quelle perfette. Qualsiasi aiuto è molto apprezzato.

+0

Qui girato al buio: Forse 'performSelectorOnMainThread' invece del doppio' dispatch_' potrebbe funzionare per te. – Maple

risposta

0

Non capisco molto il tuo codice. Stai utilizzando GCD sul thread principale per eseguire effettivamente un selettore su un altro thread dopo un ritardo. Perché non usi la funzione dispatch_after()?

Ricorda che il tuo codice "spingendo una vista" NON viene chiamato subito dopo che il selettore è stato chiamato a causa della concorrenza.

Tu non sai momento in cui il controller di vista carello è sta per essere spinto rispetto al loadFadingScreenFromController:

3

Ho affrontato lo stesso problema nella mia applicazione.

La ragione è che stavo visualizzando una visualizzazione di avviso utilizzando thread e che era il problema dello schermo tremolante.

Ho commentato quella discussione per visualizzare la visualizzazione di avviso e dopo che la mia applicazione funziona correttamente.

Problemi correlati