2

我正在使用 UIActivityViewController 共享 NSString 和 UIImage,但我不想与 iMessage 和电子邮件共享 UIImage。

如何为 UIImage 创建这样的自定义 UIActivity 并将 NSString 留给所有人?

4

1 回答 1

0

当你创建你的 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"];
}

我将这个答案基于我在本教程中找到的代码

于 2014-02-03T21:08:55.353 回答