我正在为我的 UIActivityViewController 子类化 UIActivityItemProvider,这样当用户选择 UIActivityTypeMessage 时,它只会显示一条消息,但如果用户选择 UIActivityTypeFacebook,它将显示一条带有图像的消息。
这是我的代码,我只能返回带有 UIActivityTypeMessage 的消息,但对于 UIActivityTypeFacebook,我不知道如何返回带有图像的消息。
- (id)item
{
if ([self.placeholderItem isKindOfClass:[NSString class]]) {
if ([self.activityType isEqualToString:UIActivityTypeMessage]) {
return [NSString stringWithFormat:@"%@\n%@",self.text,self.url];
} else {
NSDictionary *d = [[NSDictionary alloc] initWithObjects:@[self.text,self.image] forKeys:@[@"text",@"image"]];
return d;
}
}
return self.placeholderItem;
}
UIActivityItemProvider 是否有特定的键和值可以用来设置消息、url 和图像?
作为更新,我在UIActivity 类参考中读到了特定活动类型的常量。不知道如何使用它们。有人可以启发我吗?
*UIActivityTypePostToFacebook 该对象将提供的内容发布到 Facebook 上的用户墙上。
使用此服务时,您可以提供NSString、NSAttributedString、UIImage、ALAsset 和 NSURL对象作为活动项的数据。您还可以指定其内容使用 assets-library 方案的 NSURL 对象。