【发布时间】:2012-11-21 10:35:15
【问题描述】:
嗨,我对 MFMailComposeViewController 委托属性感到困惑,当我在调用 [self presentModalViewController:mailer animated:YES]; 之后设置 mailer.mailComposeDelegate 应用程序崩溃并且当我设置 mailer.delegate 时,应用程序不会崩溃,但它的视图在之后无法隐藏发送邮件或只是从其导航按钮“取消”取消它。我被卡住了为什么会发生这种情况。
让我分享代码,你会得到提示我在哪里做错了。
if ([MFMailComposeViewController canSendMail])
{
MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init];
if(mailer)
{
mailer.mailComposeDelegate = self;
//mailer.delegate=self;
[mailer setSubject:@"What the Buck?"];
imageData = UIImagePNGRepresentation(screenImgSubCat);
[mailer addAttachmentData:imageData mimeType:@"image/png" fileName:@"testapp"];
NSString *emailBody = @"What the Buck?! – www.testapp.com";
[mailer setMessageBody:emailBody isHTML:NO];
[self presentModalViewController:mailer animated:YES];
//[mailer release];
}
}
}
更新
我更改代码并使用mailer.mailComposeDelegate = self; 并评论此行[mailer release]; 在加载图像时仍然让我崩溃。
这是我在崩溃后得到的图像。
【问题讨论】:
-
您的邮件正文实际上不是有效的 HTML - 将 NO 传递给 isHTML 参数,这可能会有所帮助
-
我改变了这个但仍然崩溃:(.....
标签: iphone ios xcode ios5 mfmailcomposeviewcontroller