开发者社区> 问答> 正文

苹果的UIActivityViewController

应用中用到 UIActivityViewController

使用代码:

    NSString *postText = @"My Text";
    NSArray *activityItems = @[postText];
    UIActivityViewController *activityController =
    [[UIActivityViewController alloc]
     initWithActivityItems:activityItems applicationActivities:nil];
    activityController.excludedActivityTypes = [NSArray arrayWithObjects:UIActivityTypePrint, UIActivityTypeCopyToPasteboard, UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll, nil];
    [self presentViewController:activityController
                       animated:YES completion:nil];

运行正常,从UIActivityViewController打开邮件的时候,也会显示出需要的内容。

现在我要在数据库中执行一些动作,条件是在post或者邮件发送成功之后。

应该怎么做?

展开
收起
爵霸 2016-03-23 11:07:46 1854 0
1 条回答
写回答
取消 提交回答
  • [activityController setCompletionHandler:^(NSString *act, BOOL done)
                 {
    
                     NSLog(@"act type %@",act);
                     NSString *ServiceMsg = nil;
                     if ( [act isEqualToString:UIActivityTypeMail] )           ServiceMsg = @"Mail sent";
                     if ( [act isEqualToString:UIActivityTypePostToTwitter] )  ServiceMsg = @"Post on twitter, ok!";
                     if ( [act isEqualToString:UIActivityTypePostToFacebook] ) ServiceMsg = @"Post on facebook, ok!";
    
                     if ( done )
                     {
                         UIAlertView *Alert = [[UIAlertView alloc] initWithTitle:ServiceMsg message:@"" delegate:nil cancelButtonTitle:@"ok" otherButtonTitles:nil];
                         [Alert show];
                         [Alert release];
                     }
                     else
                     {
                          // didn't succeed. 
                     }
                 }];

    用完成处理程序的‘done’参数来判断是否完成。

    2019-07-17 19:10:34
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
地产界的“苹果”是怎样炼成的 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载