我有一个Book类,我希望允许我的用户为每本书分享他们的进度。为了做到这一点,我展示了一个UIActivityViewController,但是我想为Facebook、Twitter等添加不同的文本,所以我有了符合UIActivityItemSource协议的Book,然后我可以根据activityType为它的方法返回不同的值。到目前一切尚好。
现在,我也想分享一个图片,当用户选择Facebook或Twitter,但只是文本的所有其他选项。不过,UIActivityItemSource中的方法只允许我返回一个对象。为了共享字符串和图像,我似乎必须将它们作为不同的活动项添加,但是我不知道用户将选择哪个activityType来决定是否应该包含该图像。
那么,如何根据activityType共享不同类和值的不同数量的对象呢?
提前谢谢你,
丹尼尔
编辑:现在我正试着用UIActivityItemProvider…来做这个问题是,有时我只想分享一些文字,有时我也想分享一个图像。因此,我的UIActivityItemProvider必须有条件地返回多个对象(有时它会返回一个映像,有时它不会返回),或者我需要使用多个提供程序,有时图像提供程序返回零,但这似乎是不可能的。这次又是什么?
发布于 2016-02-18 05:25:19
我找到了解决问题的方法。虽然这并不好,所以我不会接受这个答案,但我会把它留在这里,以防它对别人有帮助。
我不能有一个UIActivityItemProvider返回零,但我可以让它返回一个空字符串,所以这就是我所做的-对于activityTypes,我想要一个图像,我返回一个图像,对于那些我没有返回一个空字符串。那我就有了另一个文本提供者。
不过,也有一些缺点。返回一个空字符串会创建一个新的行,这不是一个交易的破坏者,但它是烦人的。此外,将始终有一个字符串项目,即使我返回一个空字符串为我的文本提供程序,这样的选项,如保存到相机卷将永远不会可用。
我现在就这么做,但是如果有人有更好的建议,请告诉我。
https://stackoverflow.com/questions/35470786
复制相似问题