2011-01-10 7 views
2

Je suis très nouveau pour implémenter des méthodes de délégué. Je suis l'application de sms. Je suis en mesure d'ouvrir la méthode des délégués SMS et vu les options TO et Send, mais quand j'essaie de revenir à la main, il ne fonctionne pas mon code est le suivant, s'il vous plaît aidez-moi.Annuler le bouton ne fonctionne pas dans l'intégration de sms pour l'iPhone

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result { 
message.hidden = NO; 
switch (result) 
    { 
    case MessageComposeResultCancelled: 
     message.text = @"Result: canceled"; 
     NSLog(@"Result: canceled"); 
     break; 
    case MessageComposeResultSent: 
     message.text = @"Result: sent"; 
     NSLog(@"Result: sent"); 
     break; 
    case MessageComposeResultFailed: 
     message.text = @"Result: failed"; 
     NSLog(@"Result: failed"); 
     break; 
    default: 
     message.text = @"Result: not sent"; 
     NSLog(@"Result: not sent"); 
     break; 
    } 

[self dismissModalViewControllerAnimated:YES]; 

} 

Répondre

13

je suppose que ce code ne soit pas appelé parce que vous avez oublié d'assigner le délégué du MFMessageComposeViewController.

regard dans la partie de votre code où vous créez le messagecomposer et voir s'il y a un appel comme celui-ci: picker.messageComposeDelegate = self;
Si ce n'est pas là, vous devez l'ajouter. Sinon, le composeur ne peut pas appeler votre fonction de délégué.

+6

vous définissez le délégué, mais pas le messageComposeDelegate. Essayez de remplacer 'picker.delegate = self;' avec 'picker.messageComposeDelegate = self;' –

+0

Avait exactement le même problème, merci beaucoup homme. – Dvole

Questions connexes