我使用MFMailcomposeViewController作为邮件功能。但是当应用程序呈现MFMailComposeViewController时,toReceipts文件中的文本与delay.why一起显示,是这样吗?
if MFMailComposeViewController.canSendMail()
{
var mailPicker = MFMailComposeViewController()
mailPicker.mailComposeDelegate = self;
mailPicker.setSubject("hello");
mailPicker.setMessageBody(txtViewBody.text, isHTML: false);
mailPicker.setToRecipients(["aashish01cs@gmail.com"])
self.becomeFirstResponder();
presentViewController(mailPicker, animated: true, completion: {
println("Mail composer completion block")
});
}发布于 2015-07-28 07:22:01
它将在模拟器中显示接收者的延迟。
在设备中,它不会延迟加载。
发布于 2015-09-10 21:37:45
我所知道的防止MFMailComposeViewController出现的唯一方法是使用私有api调用,但是应用程序将被拒绝.
MFMailComposeViewController *mailComposeVC = [[MFMailComposeViewController alloc] init];
// do your setup here
UIViewController *internalComposeVC = (UIViewController *) [mailComposeVC.viewControllers firstObject];
// call private method to layout the view immediately
SEL privateSelector = NSSelectorFromString(@"_endDelayingCompositionPresentation");
if ([internalComposeVC respondsToSelector:privateSelector]) {
((void (*)(id, SEL))[internalComposeVC methodForSelector:privateSelector])(internalComposeVC, privateSelector);
}
// present the MFMailComposeViewController
[self presentViewController:mailComposeVC animated:TRUE completion:nil];
// while presenting force the controller to set the recipient immediately
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.01 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[internalComposeVC viewWillAppear:FALSE];
[internalComposeVC viewDidAppear:FALSE];
});我只用iOS 8进行了测试。
https://stackoverflow.com/questions/31669202
复制相似问题