objective-c - UIActivityViewController 关闭 MailViewController

标签 objective-c ipad email

我已尝试通过 UIActivityViewController 发送电子邮件,它工作正常,但邮件 View 在发送电子邮件后并未关闭。当用户按下取消按钮时,它也不会关闭。

我该怎么做才能解决这个问题?

这里是我用过的代码:

//conf share view
    NSString *textToShare = @"Teststring!";
    UIImage *imageToShare = fetchedImage;
    NSURL *urlToShare = [NSURL URLWithString:string_url];
    NSArray *activityItems = [[NSArray alloc]  initWithObjects:textToShare, imageToShare,urlToShare,nil];

    UIActivity *activity = [[UIActivity alloc] init];

    NSArray *applicationActivities = [[NSArray alloc] initWithObjects:activity, nil];
    UIActivityViewController *activityVC =
    [[UIActivityViewController alloc] initWithActivityItems:activityItems
                                      applicationActivities:applicationActivities];

    activityVC.excludedActivityTypes = @[UIActivityTypeAssignToContact,
        UIActivityTypePostToWeibo,
        UIActivityTypeCopyToPasteboard,
        UIActivityTypeSaveToCameraRoll,
        UIActivityTypePrint];

    [activityVC setCompletionHandler:^(NSString *activityType, BOOL completed) {
        NSLog(@"CompletionHandler was called!");
    }];

谢谢!

最佳答案

我有解决方案。你想在你的基础上展示 UIActivityViewController ,即你的最高或最后一个 View Controller 。就我而言,这有效:

[[[self parentViewController] parentViewController] presentViewController:activityViewController animated:YES completion:nil];

自己尝试调用 parentViewController 多少次,直到您访问最高层的 View Controller 。在我的简单 MasterView/DetailView 应用程序中,我不得不调用它两次。

关于objective-c - UIActivityViewController 关闭 MailViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12882198/

相关文章:

iphone - 方向改变时重新定位控件

iphone - 释放对象的校验和不正确。应用程序上非常奇怪的崩溃

ios - 是否有必要创建一个应用程序的视网膜版本?

iphone - 检查设备是否为 iPad

php - PHPMailer 中的 SMTP connect() 失败错误

python - Django EmailMultiAlternatives 发送到多个 "to"地址

objective-c - 从 UIViewController 绘制虚线

objective-c - 移动到另一个 View 时选项卡栏 Controller 消失(iOS SDK,使用 Storyboard)

ios - 访问实例变量导致保留周期?

php - wp_mail(Wordpress 邮件功能)未发送到 gmail 或 live.co.uk 帐户