我有一个Book
课程,我想让我的用户分享每本书的进度。要做到这一点,我提出UIActivityViewController
,但我想为Facebook,Twitter等添加不同的文本,所以我Book
符合UIActivityItemSource
协议,然后我可以返回取决于activityType
,其方法的值不同。到目前为止一切都很好。
现在我想在用户选择Facebook或Twitter时共享图像,但只是用于所有其他选项的文本。 UIActivityItemSource
中的方法只允许我返回一个对象。要共享字符串和图像,我似乎必须将它们添加为不同的活动项目,但后来我不知道用户将选择哪个activityType
来决定是否应该包含图像。
那么如何根据activityType
分享不同类别和值的不同数量的对象?
提前致谢,
丹尼尔
编辑:现在我正试图用UIActivityItemProvider
来做...事情是,有时候我想分享一些文字,有时我也想分享一个图像。所以我的UIActivityItemProvider
必须有条件地返回多个对象(有时它会返回一个图像,有时它不会)或者我需要使用多个提供程序并让图像的提供者有时返回nil,但这并不是'似乎有可能。现在怎么样?
答案 0 :(得分:0)
我找到了解决问题的方法。但这并不好,所以我不接受这个答案,但我会把它留在这里以防它帮助某人。
我不能让UIActivityItemProvider
返回nil,但我可以让它返回一个空字符串,这就是我所做的 - 对于activityTypes
我想要一个图像我返回一个图像,我没有,我返回一个空字符串。然后我有另一个文本提供者。
但是有一些缺点。返回一个空字符串会创建一个新行,这不是一个交易破坏者,但它很烦人。即使我为文本提供者返回一个空字符串,也总会有一个字符串项,因此保存到相机胶卷的选项将无法使用。
我现在就这样做,但如果有人有更好的建议请告诉我。