UIActivityViewController解除MailViewController

bla*_*011 7 email objective-c ipad

我尝试通过UIActivityViewController发送电子邮件,它工作正常,但邮件发送后不会解除邮件视图.当用户按下"取消"按钮时,它也不会被忽略.

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

这里是我使用的代码:

//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!");
    }];
Run Code Online (Sandbox Code Playgroud)

谢谢!

Eri*_*rik 8

我有解决方案.您希望在基础中呈现UIActivityViewController,即最高或最后一个视图控制器.就我而言,这有效:

[[[self parentViewController] parentViewController] presentViewController:activityViewController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

在您访问最高视图控制器之前,请尝试自己多少次调用parentViewController.在我简单的MasterView/DetailView应用程序中,我不得不调用它两次.