首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIActivityViewController

UIActivityViewController
EN

Stack Overflow用户
提问于 2012-11-19 21:07:10
回答 2查看 1.6K关注 0票数 0

我在iPad上使用UIActivityViewController时遇到问题

以下是我的代码:

代码语言:javascript
复制
NSString* someText = @"Hi, I am using the official iEveryThing Tech app #iEveryTech";
        NSString* Website = [NSURL URLWithString:@"https://itunes.apple.com/us/app/ieverytech/id578148847?l=de&ls=1&mt=8"];
        NSArray* dataToShare = @[someText,Website];

        Class activityViewController = NSClassFromString(@"UIActivityViewController");

        if(activityViewController) {
            UIActivityViewController* activityViewController =
        [[UIActivityViewController alloc] initWithActivityItems:dataToShare
                                          applicationActivities:nil];
            [self presentViewController:activityViewController animated:YES completion:nil];}



        }

在iPhone上,邮件作者视图将在发送邮件后消失,但iPad上的作曲家不会消失。这是我的作曲家:

代码语言:javascript
复制
-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error {

    if (error) {

        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"error"

                                                        message:[NSString stringWithFormat:@"error %@", [error description]]

                                                       delegate:nil cancelButtonTitle:@"Dismiss" otherButtonTitles:nil, nil];

        [alert show];


        [self dismissModalViewControllerAnimated:YES];

    }

    else {

        [self dismissModalViewControllerAnimated:YES];

    }

}
EN

回答 2

Stack Overflow用户

发布于 2014-11-17 20:48:34

activityViewController使用原生方法发送邮件,而不需要使用mailComposeController,如下所示

代码语言:javascript
复制
NSMutableArray *items = [NSMutableArray new];
    [items addObject:@"text for share"];
    [items addObject:[UIImage imageWithData:[NSData dataWithContentsOfFile:self.imagePath]]];

NSArray *activityItems = [NSArray arrayWithArray:items];

self.activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:[NSArray arrayWithObjects:whatsapp,instagram, nil]];

self.activityVC.excludedActivityTypes = @[UIActivityTypeAssignToContact, UIActivityTypePrint,UIActivityTypeAirDrop,UIActivityTypeCopyToPasteboard];

[self presentViewController:self.activityVC animated:YES completion:nil];
票数 1
EN

Stack Overflow用户

发布于 2013-03-30 11:05:20

首先,在使用activityViewController时,您的类不是邮件编写器的委托,代码也不会被调用。这一切都是在activityViewController内部处理的。

至于你的观点没有被驳回,实现对activityViewController的完整块调用。在代码块中,一定要去掉视图控制器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13454472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档