我展示了 MFMailComposeViewController 控制器并将其设置为委托 - 在 iOS 5 中一切正常,但在 iOS6 中未调用委托方法 (mailComposeController:didFinishWithResult:error:)。
以下是代码片段:
MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
[controller setSubject:<text>];
[controller setMessageBody:<text> isHTML:NO];
[self presentViewController:controller animated:YES completion:nil];
尽管在按下取消或完成按钮后控制器成功关闭,但在 iOS6 中未调用以下委托方法:
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {
if (error != nil) {
NSLog(@"An error occurred while sending e-mail. %@, %@", error, [error userInfo]);
}
NSLog(@"done with e-mail");
[self dismissViewControllerAnimated:YES completion:nil];
}
任何建议将不胜感激!先感谢您。
编辑:方法 viewWillAppear:我的控制器呈现 mailComposeController 也没有被调用!可以作为线索吗?