MFMailComposeViewController 未从视图中消失

2023-12-31

我有以下代码,当调用操作表上的按钮时会调用该代码。但是,当我按取消,然后删除草稿时,它只是收费并且不会关闭。我在应用程序的其他地方使用相同的代码,并从选择的表格视图单元格中调用它,并且它可以在那里找到。有什么想法为什么它在这里不起作用吗?

当它冻结时,控制台中也没有错误消息。

if([MFMailComposeViewController canSendMail])
{
    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
    picker.mailComposeDelegate = self;

    [picker setSubject:@"Dr. Chrono Support"];

    NSDictionary* infoDict = [[NSBundle mainBundle] infoDictionary];
    NSString* versionNum = [infoDict objectForKey:@"CFBundleVersion"];
    NSString *appName = [infoDict objectForKey:@"CFBundleDisplayName"];
    NSString *text = [NSString stringWithFormat:@"%@ %@",appName,versionNum];

    // Set up recipients
    NSArray *toRecipients = [NSArray arrayWithObject:@"[email protected] /cdn-cgi/l/email-protection"]; 
    //NSArray *ccRecipients = [NSArray arrayWithObjects:@"[email protected] /cdn-cgi/l/email-protection", @"[email protected] /cdn-cgi/l/email-protection", nil]; 
    //NSArray *bccRecipients = [NSArray arrayWithObject:@"[email protected] /cdn-cgi/l/email-protection"]; 

    [picker setToRecipients:toRecipients];
    //[picker setCcRecipients:ccRecipients];  
    //[picker setBccRecipients:bccRecipients];

    // Attach an image to the email
    //NSString *path = [[NSBundle mainBundle] pathForResource:@"rainy" ofType:@"png"];
    //NSData *myData = [NSData dataWithContentsOfFile:path];
    //[picker addAttachmentData:myData mimeType:@"image/png" fileName:@"rainy"];

    // Fill out the email body text
    NSString *emailBody = text;
    [picker setMessageBody:emailBody isHTML:NO];

    [self presentModalViewController:picker animated:YES];
    [picker release];
}

您需要实现委托方法:

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {

然后在这个委托方法中添加:

[self dismissModalViewControllerAnimated:YES];

它应该工作得很好。

您不必寻找结果(仅当您想显示“谢谢”警报或其他内容时,例如,如果用户确实点击了“发送”)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MFMailComposeViewController 未从视图中消失 的相关文章

随机推荐

  • JSON 值不会插入到 ArrayList [重复]

    这个问题在这里已经有答案了 有人可以帮助我如何将 JSON 值添加到列表中吗 尽管放置了 List add 函数 但我似乎无法插入它 这是我第一次在 Android 中修改 JSON 的东西 我真的很感谢你的帮助 P S 不知何故 API
  • 使用 JInitator 在 Internet Explorer 8 中使用 Oracle Forms/Applications

    有人能够让运行 JInitator 的 Oracle Forms 在 Internet Explorer 8 中贷款吗 我尝试删除所有附加组件 各种版本的 Java 使用通配符将域添加到受信任的站点 并使用兼容模式 但均无济于事 我希望我们
  • ModelState.IsValid 还是 Model.IsValid?

    当我遇到两种方法 我认为同样有效 来做某事时 我正在编写一个控制器并为其进行单元测试 我的所有模型都有一个 IsValid 属性 我可以检查该属性以询问模型是否有效 在回发到控制器操作方法时 如果模型有效 我想保存 否则我想重新显示表单以供
  • Delphi 2007 和 {$IFDEF...} 指令,无法看到我们的条件

    我们的代码库中的组件文件中有以下内容 IFDEF ADO FDatabase TADODatabase ELSE FDatabase TODBCDatabase ENDIF 原因是 对于各种遗留应用程序 将使用一种或另一种类型的数据库连接和
  • Python heapq:如何使用列表列表的第 n 个元素对堆进行排序?

    所以我有一些列表被添加到堆中 例如 n 1 5 93 2 6 44 4 7 45 6 3 12 heapq heapify n print n 这将根据列表的第一个元素进行比较和排序 我的问题是 如何对 heapq 进行排序 以便它比较每个
  • 如何在 python 中使用 os.system() 来运行 shell 命令

    在某些 shell 脚本中 您需要确认 yes 才能运行 shell 更简单的方法是使用 yes 和管道 如下所示 yes test py 然后 您可以自动运行 shell 脚本 而无需再回答 是 今天 当我在 python 中尝试使用它时
  • 简码输出在新行后添加

    我正在尝试创建一个短代码来将 CSS 样式属性添加到页面 我将以下代码添加到主题的functions php中 function add style atts content null return add shortcode style
  • UIVisualEffectView 创建一个灰色框而不是模糊

    我正在使用 UIVisualEffectView 模糊 SpriteKit 中的屏幕部分 如下所示 let blur UIBlurEffect UIBlurEffect style UIBlurEffectStyle Dark let UI
  • 在 Linux 中将 RCurl 安装为 R 开发工具的一部分时出错

    首先 我对 Linux 还很陌生 我在 Linux 服务器 Ubuntu 12 10 Quantal Quetzal 上安装了 R 3 1 1 最新版本 并尝试在 R 中安装 devtools 包 当我运行install packages
  • gcc 命令中 -fsyntax-only 选项有什么用?

    我读到了关于 fsyntax only选项中gcc命令的手册页 我知道它显示丢失头文件的错误 并且忽略用户编码错误 我需要知道我的理解是否正确 我也需要更多地了解这个选项 那么有人可以解释一下这个选项吗 fsyntax only防止编译器生
  • 为什么不能在drawRect中改变UIView的背景颜色?

    理论上 您可以通过以下方式轻松设置背景颜色 self backgroundColor UIColor redColor 在drawRect中 但这没有任何效果 您可以更改视图的大小 边框 子视图等 但不能更改背景颜色 类似的 SO 查询建议
  • 如何在 shell 脚本中的 curl 命令中传递变量

    我有一个curl命令 curl u USER ID PASSWORD X GET http blah gso woo com 8080 rest job execution job details job id 变量job id其中有一个值
  • Backbone.Collection 上的 toJSON#在哪里?

    我不知道为什么 但我无法让它工作 var friends new Backbone Collection name Athos job Musketeer name Porthos job Musketeer name Aramis job
  • 创建 COM 互操作类的实例

    我正在尝试使用 C 从我的程序中打开 CorelDRAW 到目前为止 我已经能够通过引用适当的 com 库并调用来做到这一点 CorelDRAW Application draw new CorelDRAW Application draw
  • Python - ElementTree - 不能在元素上使用绝对路径

    当我尝试运行以下代码时 我在 ElementTree 中收到此错误 SyntaxError cannot use absolute path on element 我的 XML 文档如下所示
  • JSON 迭代器的类型安全警告

    我的问题来自于从 JSONObject 获取迭代器 最简单形式的代码生成错误 String json client retrieveList JSONObject jsonList new JSONObject json Iterator
  • Java - 不可变数组线程安全

    我有一个关于 Java 内存模型的问题 这是一个呈现问题的简单类 public class ImmutableIntArray private final int array public ImmutableIntArray array n
  • 如何有效地从 std::set 中选择随机元素

    如何有效地从一个随机元素中选择一个std set A std set iterator is 不是随机访问迭代器 所以我不能像为一个随机选择的元素那样直接索引std deque or std vector I could获取从返回的迭代器s
  • 表达式 lambda 和语句 lambda 之间的区别

    表达式 lambda 和语句 lambda 之间有区别吗 如果是这样 有什么区别 在下面的链接中找到了这个问题 但无法理解答案 什么是 Lambda 表达式 C 面试题 http csharpinterviewfaq blogspot in
  • MFMailComposeViewController 未从视图中消失

    我有以下代码 当调用操作表上的按钮时会调用该代码 但是 当我按取消 然后删除草稿时 它只是收费并且不会关闭 我在应用程序的其他地方使用相同的代码 并从选择的表格视图单元格中调用它 并且它可以在那里找到 有什么想法为什么它在这里不起作用吗 当