事实证明,这是由于iOS的8测试版的bug。 我已经通过错误号17318153报道它
我设置的电子邮件地址为UITextField。 这样做的目的是为iOS看到它的电子邮件地址,如果用户点击它,显示的实例MFMailComposeViewController
发送电子邮件(也就是它)。
但是,如果用户再水龙头取消,该MFMailComposeViewController
没有被解雇。 我试着设置我的viewController作为MFMailComposeViewControllerDelegate
和压倒一切的mailComposeController: didFinishWithResult: error:
但它不会被调用。 看似,当URL被点击时显示为MFMailComposeViewController委托未设置为自己。
我怎样才能让在取消按钮MFMailComposeViewController
实际上解雇时显示的视图控制器?
我.H:
#import <UIKit/UIKit.h>
#import <MessageUI/MessageUI.h>
@interface AboutUsViewController : UIViewController<MFMailComposeViewControllerDelegate>{
IBOutlet UIImageView *imageView;
IBOutlet UITextView *companyName;
IBOutlet UITextView *phoneNumber;
IBOutlet UITextView *emailAddress;
IBOutlet UITextView *aboutUsField;
}
@end
在.M:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
emailAddress.text=@"support@email.com";
}
- (void) mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
switch (result)
{
case MFMailComposeResultCancelled:
NSLog(@"Mail cancelled");
break;
case MFMailComposeResultSaved:
NSLog(@"Mail saved");
break;
case MFMailComposeResultSent:
NSLog(@"Mail sent");
break;
case MFMailComposeResultFailed:
NSLog(@"Mail sent failure: %@", [error localizedDescription]);
break;
default:
break;
}
// Close the Mail Interface
[self dismissViewControllerAnimated:YES completion:NULL];
}