J'ai un objet WebView (de aWebView) qui a été ajouté au-dessus de la fenêtre en cours comme celui-ci -interface de messagerie cancel bouton ne fonctionne pas ios - MFMailComposeViewController classe
UIWindow *webWindow = [[UIWindow alloc] initWithFrame:CGRectMake(0, 20, 320,460)];
[webWindow addSubview:aWebView];
[webWindow makeKeyAndVisible];
J'ai un ViewController (viewcontrollerobj) qui est sous-vue aWebView -
[webView addSubview:viewcontrollerobj.view];
Je fais appel méthode sendInAppMail dans le ViewController-
[sviewcontroller sendInAppMail];
SendInAppMail ressemble à ceci -
MFMailComposeViewController *mailController = [[[MFMailComposeViewController alloc] init] autorelease];
if([MFMailComposeViewController canSendMail])
{
[mailController setMessageBody:@"hello" isHTML:NO];
[mailController setSubject:@"subject"];
mailController.mailComposeDelegate = self;
[self presentModalViewController:mailController animated:YES];
[mailController release];
}
didFinishWithResult ressemble à ceci -
- (void)mailComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
switch (result) {
case MFMailComposeResultCancelled:
break;
case MFMailComposeResultSent:
break;
default:
break;
}
[self dismissModalViewControllerAnimated:YES];
}
courrier viewcontroller apparaît bien. Le problème est que lorsque je clique sur annuler, l'option de suppression/sauvegarde est affichée et après avoir cliqué sur supprimer/sauvegarder, le viewcontroller ne disparaît pas! ..
Quand je regarde la console, il affiche ce message journal - « Présentation feuille d'action clipsé par son superview Certains contrôles pourraient ne pas répondre à des touches sur iPhone essayer - [UIActionSheet showFromTabBar:] ou - [UIActionSheet showFromToolbar:] au lieu de - [UIActionSheet showInView:]. " Je n'utilise UIActionSheet nulle part et je n'ai pas utilisé par le passé, donc je ne suis pas capable de comprendre ce qu'il dit. J'ai regardé cela - https://stackoverflow.com/a/6015957/516938 Mais il semble que la solution donnée soit très spécifique à une situation.
Je ne pense pas qu'il bloque les touches. Parce que lorsque je clique sur Annuler pour la première fois, l'option de suppression/enregistrement est affichée. Je l'ai exécuté de nouveau avec l'instruction NSLOg dans didFinishWithResult et il semble que ce ne soit pas appelé du tout. Idéalement, quand je clique sur supprimer un brouillon, il devrait être appelé et toute la boîte de dialogue Courrier devrait disparaître! – arank
OMG! Erreur stupide son "mailComposeController" et PAS "mailComposeViewController" – arank
Haha! Oops. Je suis content que vous ayez trouvé le problème. –