ios - 如何知道在 activityController setCompletionHandler 被调用之前 UIActivityViewController 中点击了哪个图标?

标签 ios objective-c facebook twitter uiactivityviewcontroller

如何知道在调用 activityController setCompletionHandler:^(NSString *activityType, BOOL completed) 之前在 UIActivityViewController 中单击了哪个图标?

我想在 Twitter 和 Facebook 上分享不同的文字。

-(IBAction)btnSharePressedFromOffersDetail:(id)sender
{
NSString *posturl= @"facebook or twitter";
UISimpleTextPrintFormatter *printData = [[UISimpleTextPrintFormatter alloc]init];
NSArray *Itemsarray=@[posturl,printData];
UIActivityViewController *activityController = [[UIActivityViewController alloc]initWithActivityItems:Itemsarray applicationActivities:nil];
[self presentViewController:activityController
                   animated:YES completion:nil];
[activityController setCompletionHandler:^(NSString *activityType, BOOL completed)
{
     NSLog(@"Activity = %@",activityType);
     NSLog(@"Completed Status = %d",completed);  
     if (completed)
     {
         UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@""
                                                         message:@"Thanks for sharing!"
                                                        delegate:nil
                                              cancelButtonTitle:@"OK"
                                               otherButtonTitles:nil];
         [alert show];
     }
     else
     {       
     }
 }];
}

最佳答案

如果您的目标是为 Twitter 或 Facebook 使用不同的文本,则由实现 UIActivityItemSource 协议(protocol)的共享模型负责。

- (id) activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType
{
    if([activityType isEqualToString:UIActivityTypePostToFacebook]) return @"Facebook text";
    else if([activityType UIActivityTypePostToTwitter]) return @"Twitter text";
    else return @"Default text";
}

关于ios - 如何知道在 activityController setCompletionHandler 被调用之前 UIActivityViewController 中点击了哪个图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23708974/

相关文章:

ios - nsmutablearray.count和tableview indexpath.row之间的比较给出了奇怪的结果

javascript - Facebook lint 中的 "Failed to get composer template data"是什么意思?

javascript - 您如何使用 React Native 正确地从桥接的 iOS 模块向 JavaScript 发送和接收事件?

facebook - 使用 news.reads Open Graph 操作时出错

ios - UIPageViewController冲突问题

ios - 在 objective-c 中结合使用 @import 和 __cplusplus

ios - 从加速度计读数中获取重力

objective-c - plist 文件加载的 NSDictionary 内存泄漏

iphone - 核心数据同步 - 跟踪删除的对象

ios - 添加 UIViewController 作为 UIScrollView 的 subview