UIActivityViewController关闭MailViewController [英] UIActivityViewController dismiss MailViewController

查看:107
本文介绍了UIActivityViewController关闭MailViewController的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经尝试通过UIActivityViewController发送电子邮件,它工作正常,但邮件发送后不会关闭邮件视图。

I've try to send an email over the UIActivityViewController and it works fine, but the mail view is not dismissed after the email was send. It also wont't dismiss when the user has pushed the Cancel button.

我可以如何解决问题?

这里我使用的代码:

//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。在我的情况下,这工作:

I have the solution. You want to present the UIActivityViewController in your fundamental, i.e. your highest or last view controller. In my case, this worked:

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

在访问最高视图控制器之前,尝试自己多少次调用parentViewController。在我简单的MasterView / DetailView应用程序中,我必须调用两次。

Try out yourself how many times you have to call parentViewController until you are accessing the highest view controller. In my simple MasterView/DetailView app, I had to call it twice.

这篇关于UIActivityViewController关闭MailViewController的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆