8
votes

MFMailCommerposeViewController non renvoyé

J'ai le code suivant qui est appelé inadyecrowatidexpath. Le problème est que lorsque je clique sur le bouton Annuler, il invite à sauver le brouillon ou le jeter. Mais quand je clique non plus, la vue ne renvoie pas. J'ai utilisé le même code dans une application Pre iOS 5 et il a rejeté l'amende. Des idées? J'ai le protocole de délégué de l'interface. XXX


0 commentaires

5 Réponses :


18
votes

Utilisez: xxx

obsolète de iOS 6.0:

Ajoutez cette méthode à votre classe: < / p> xxx

amusez-vous


1 commentaires

Cette méthode est désormais obsolète, j'espère que cela peut fonctionner au lieu d'un code de renvoi ci-dessus ... [Auto SynissviewControléranimated: Oui Achèvement: Nil];



7
votes

Il pourrait y avoir plusieurs problèmes:

  1. ne pas ajouter d'implémérotation de protocole dans le .h p>

     picker.mailComposeDelegate = self;
    
  2. ne pas ajouter la fonction correspondante dans .m: p>

    -(void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:    (MFMailComposeResult)result error:(NSError*)error {
         [self dismissModalViewControllerAnimated:YES];
    }
    
  3. Mon erreur ne définissait pas le bon délégué, mais je l'ai réparé :) Et maintenant ça marche pour moi: P>

    @interface yourClass : UIViewController <MFMailComposeViewControllerDelegate>
    


0 commentaires

0
votes

J'ai décrit le problème et la façon dont il peut être résolu plus détaillé ici: https: / /Stackoverflow.com/a/13576408/691660

Je ne suis pas sûr si Luda a attrapé le noyau du problème. Aucune différence si vous spécifiez le délégué ou non, cela ne fonctionne pas dans le cas d'une instance modale + modale MFMailCommentViewController.


0 commentaires

1
votes

"DémissameViewControléranimated:" est obsolète dans iOS 6.0

iOS 7 Utilisation:

"SémissionsViewControléranimated: Achèvement:"


0 commentaires

0
votes

SWIFT STRAND> Mise en œuvre:

Assurez-vous que votre MFMailCommentViewController code> est appelé chaque fois que sa fonction est exécutée. p>

Ceci résout le problème de MFMailCommentViewController code> non renvoyé. P>

     let subj = "Test"
     let messageBody = "Test"
     let toRecipents = ["example@xyz.com"]
     let mc: MFMailComposeViewController = MFMailComposeViewController()
     mc.mailComposeDelegate = self
     mc.setSubject(subj)
     mc.setMessageBody(messageBody, isHTML: true)
     mc.setToRecipients(toRecipents)
     self.present(mc, animated: true, completion: nil)


0 commentaires