【发布时间】:2016-05-26 18:11:06
【问题描述】:
我正在尝试通过UIActivityViewController 分享带有文字的图像。如果我这样做:
let activityVC = UIActivityViewController(activityItems: [text, image], applicationActivities: nil)
self.presentViewController(activityVC, animated: true, completion: nil)
一切正常。问题是我只想与某些活动类型共享图像。即,当用户分享到 Facebook 时,我不想拥有图像,但我所做的一切都是如此。我的问题是这个愚蠢的方法永远不会被调用:
optional func activityViewController(_ activityViewController: UIActivityViewController,
thumbnailImageForActivityType activityType: String?,
suggestedSize size: CGSize) -> UIImage?
这应该是因为它是在UIActivityItemSource 协议中定义的。有什么解决方法吗?
所以我相信在这方面取得了一些进展。如果您在实例化UIActivityViewController 时传递多个self 值,则可以在itemForActivityType 委托方法中返回多个值。所以如果我这样做:
let activityVC = UIActivityViewController(activityItems: [self, self], applicationActivities: nil)
我可以像这样返回不同的值:
func activityViewController(activityViewController: UIActivityViewController, itemForActivityType activityType: String) -> AnyObject? {
if activityType == UIActivityTypePostToFacebook {
return ["hello", "world"]
}
else {
return ["goodnight", "moon"]
}
}
但是,您似乎只能返回两个相同类型的值。
我现在的新问题是,如何同时返回图像和文本?狩猎仍在继续……
【问题讨论】:
标签: ios swift uiactivityviewcontroller