iph*_*aaw 4 email iphone delegates objective-c
我在收到我提出的电子邮件时遇到了困难.
电子邮件打开很好,但一旦打开它就不会关闭mailComposeController:mailer didFinishWithResult:结果错误:错误处理程序永远不会被调用.
据我所知,我已经掌握了所有可以做到这一点.
任何有关我能看到什么的想法?
以下是我如何提出电子邮件:
-(IBAction)emailButtonPressed
{
Run Code Online (Sandbox Code Playgroud)
NSString*text = @"我的电子邮件文本";
MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init];
mailer.delegate = self;
[mailer setSubject:@"Note"];
[mailer setMessageBody:text isHTML:NO];
[self presentModalViewController:mailer animated:YES];
[mailer release];
}
Run Code Online (Sandbox Code Playgroud)
然后在类中我有这个代码来处理close(但它永远不会被调用):
-(void)mailComposeController:(MFMailComposeViewController *)mailer didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
[self becomeFirstResponder];
[mailer dismissModalViewControllerAnimated:YES];
}
Run Code Online (Sandbox Code Playgroud)
我的头文件定义为:
#import <UIKit/UIKit.h>
#import <MessageUI/MessageUI.h>
#import <MessageUI/MFMailComposeViewController.h>
@interface myViewController : UIViewController <UIActionSheetDelegate, UIAlertViewDelegate, MFMailComposeViewControllerDelegate, UINavigationControllerDelegate>
Run Code Online (Sandbox Code Playgroud)
谢谢
Iphaaw
Mic*_*hal 11
您正在设置委托错误,委托属性MFMailComposeViewController名为mailComposeDelegate,因此它应该是:
mailer.mailComposeDelegate = self;
Run Code Online (Sandbox Code Playgroud)
另一种可能的错误,我可以看到被调用dismissModalViewControllerAnimated:的mailer-你应该把这个消息发送给谁提供的邮件界面视图控制器- self在这种情况下:
[self dismissModalViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)
我写了"可能的错误",因为如果iOS通过响应程序链路由消息它可能实际上有用 - 无论如何 - 文档说它应该发送给演示者.