if([MFMessageComposeViewController canSendText])
{
MFMessageComposeViewController *sms_message_vc = [[MFMessageComposeViewController alloc] init];
sms_message_vc.body = text;
sms_message_vc.recipients = recipients;
sms_message_vc.messageComposeDelegate = self;
[self presentModalViewController:sms_message_vc animated:FALSE];
[[UIApplication sharedApplication] setStatusBarHidden:TRUE];
[sms_message_vc release];
}
Quando si esegue questo, c'è un ritardo di alcuni secondi prima che la vista di composizione sia effettivamente visualizzata. Che cosa sta causando questo e come si fa a eliminare il ritardo?Come eliminare il ritardo nella presentazione di MFMessageComposeViewController?
MODIFICA 1: Chiarimento: l'esecuzione di sms_message_vc
e ivar non è di aiuto poiché il processo ...alloc] init]
interromperà l'interfaccia utente per secondi, indipendentemente da dove si trova.
EDIT 2: provato GCD (con priorità diverse) per tentare di eseguire l'inizializzazione contemporaneamente. non ha aiutato:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, (unsigned long)NULL), ^(void){
sms_message_vc = [[MFMessageComposeViewController alloc] init];
sms_message_vc.messageComposeDelegate = self;
});
E 'Dalay troppo tempo? –