如何使用UIActivityViewController向每个服务提供完全不同的数据集?

例如:

  • MESSAGE帽子的图像,文字“This is a hat”
  • FACEBOOK一个URL-http://www.google.com,以及文本“在这里找顶帽子”
  • 通过电子邮件发送猫的图片,并发送网址lolcats.com
  • 自定义服务图像
  • 最佳答案

    通过创建一个采用UIActivityItemSource协议并实现该方法的类,可以为不同的 Activity 提供不同的数据:

    -(id)activityViewController:itemForActivityType:
    

    然后通过调用UIActivityViewController将自定义类的对象传递给activityItems数组中的-(id)initWithActivityItems:applicationActivities:
    从此方法的文档中:

    ...代替实际的数据对象,此数组中的对象可以是采用UIActivityItemSource协议的对象,例如UIActivityItemProvider对象。 ...

    这是有关如何执行此操作的教程:https://www.albertopasca.it/whiletrue/objective-c-custom-uiactivityviewcontroller-icons-and-text/

    10-07 19:02