【发布时间】:2016-12-08 18:14:12
【问题描述】:
我终于找到了和我面临同样问题的人。
UIActivityViewController customize text based on selected activity
我想用 UIActivityViewController 的活动自定义内容共享。好的答案如下:
"而不是将文本字符串传递给 initWithActivityItems 调用,传入你自己的 UIActivityItemProvider 类的子类 当您实现 itemForActivityType 方法时,它将提供 共享服务作为 'activityType' 参数。
然后您可以从此方法返回自定义内容。”
我了解技巧,但我没有办法做到这一点......
我是作为一个子类来做的:
@interface SharingItems : UIActivityItemProvider
@implementation SharingItems
-(id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType
{
// Here depending on the activityType i want to share NSString or UIImage
}
@end
但我不知道现在在我原来的 viewController 中该做什么:
-(void)actionSheet
{
if ([[UIActivityViewController class] respondsToSelector:@selector(alloc)])
{
__block NSString *imgName = [[NSString alloc] initWithFormat:@"%@", _sharingUrl];
NSArray *activityItems = [NSArray arrayWithObjects:imgName, nil];
UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
[self presentViewController:activityController animated:YES completion:nil];
__block NSString *chan = [[NSString alloc] initWithFormat:@"%@", _channel];
[activityController setCompletionHandler:^(NSString* activityType, BOOL completed)
{
if (completed)
{
}
}];
}
else
[self displayActionSheet];
}
【问题讨论】:
标签: ios objective-c xcode sharing