带有自定义数据的自定义 UIActivity

Posted

技术标签:

【中文标题】带有自定义数据的自定义 UIActivity【英文标题】:Custom UIActivity with custom Data 【发布时间】:2013-05-20 07:07:35 【问题描述】:

我有一些图像和文本想通过 Facebook、twitter 分享,它工作正常,虽然我想用我的自定义 UIActivity 分享另一组数据(活动项)

 NSLog(@"The Selected Photo Count %i",[self.selectedPhotos count]);

NSMutableArray *newArray=[[NSMutableArray alloc]init];
NSMutableArray *newArraytext=[[NSMutableArray alloc]init];



for (Shoplog * ChosenPhot in self.selectedPhotos) 

    NSString *initalTextString = [NSString
                                  stringWithFormat:@"I am Sending from my Shoplog Collection: %@",
                                  ChosenPhot.categoryname];

    [newArraytext addObject:initalTextString];
    CreateShoplogTagImage *createimagetag=[[CreateShoplogTagImage alloc]init];
    UIImage *newimage=[createimagetag Imagetag:ChosenPhot];
    NSDictionary *flurrydicttionary3=[[NSDictionary alloc]initWithObjectsAndKeys:ChosenPhot.categoryname,@"SharedCategoryname", nil];
    [Flurry logEvent:@"SharedCatalogue" withParameters:flurrydicttionary3 timed:YES];
    [newArray addObject:newimage];




NSMutableArray *addArray=[[NSMutableArray alloc]initWithArray:newArray];
[addArray addObjectsFromArray:newArraytext];


UIActivityViewController *activityViewController2 =[[UIActivityViewController alloc]initWithActivityItems:addArray applicationActivities:@[shopactivity]];

[self presentViewController:activityViewController2 animated:YES completion:^];

【问题讨论】:

【参考方案1】:

您应该继承UIActivityItemProvider 或创建符合UIActivityItemSource 的对象。传入其中的一个数组,并根据activityViewController:itemForActivityType: 调用中选择的活动让其中一些返回 nil。

【讨论】:

以上是关于带有自定义数据的自定义 UIActivity的主要内容,如果未能解决你的问题,请参考以下文章

(iOS 6) 从 UIActivityViewController 外部使用 UIActivity 的自定义子类

带有自定义图像的 UIActivity

自定义 UIActivity:ios8 中提供的未知活动项

iOS 8 自定义 UIActivity 图片黑色背景色

自定义 UIActivity 的主题

如何自定义 UIActivityViewController 以仅包含自定义 UIActivity 类型?