我正在使用 UIActivityViewController 共享 NSString 和 UIImage,但我不想与 iMessage 和电子邮件共享 UIImage。
如何为 UIImage 创建这样的自定义 UIActivity 并将 NSString 留给所有人?
我正在使用 UIActivityViewController 共享 NSString 和 UIImage,但我不想与 iMessage 和电子邮件共享 UIImage。
如何为 UIImage 创建这样的自定义 UIActivity 并将 NSString 留给所有人?
当你创建你的 UIActivityViewController 时,你传递了一个活动项数组。
您在该数组中传递的对象可以是采用UIActivityItemSource 协议的对象。
如果您发送 UIImage,为什么不创建一个“ ImageItemProvider
”对象,然后实现您自己的“ activityViewController:itemForActivityType:
”方法,该方法返回“ nil
”,如果您不想通过 iMessage 或电子邮件共享图像。
例如:
//- Returns the data object to be acted upon. (required)
- (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType
{
if ([activityType isEqualToString:UIActivityTypeMail]) {
return nil;
}
if ([activityType isEqualToString:UIActivityTypeMessage]) {
return nil;
}
return [UIImage imageNamed:@"the image you wanted returned"];
}
我将这个答案基于我在本教程中找到的代码。