下面的代码打算根据所选的不同平台共享不同的文本和不同的图像(UIImage和NSData)。问题是,没有任何图像从activityImageShare()传递到UIActivityViewController。
问题:
到底是怎么回事? 我如何纠正下面的代码,以确保
activityImageShare()共享图像,并确保它们被UIActivityViewController作为activityType获取?
代码:
1-4张图片,3张UIImage和1张NSData。
var myImage1: UIImage!
var myImage2: UIImage!
var myImage3: NSData!
var myImage4: UIImage!2-根据选定的平台定义图像以传递给UIActivityViewController。
class activityImageShare: NSObject, UIActivityItemSource {
@objc func activityViewControllerPlaceholderItem(activityViewController: UIActivityViewController) -> AnyObject {
return ""
}
@objc func activityViewController(activityViewController: UIActivityViewController, itemForActivityType activityType: String) -> AnyObject? {
switch activityType {
case UIActivityTypePostToFacebook:
return myImage1
case UIActivityTypePostToTwitter:
return myImage2
case UIActivityTypePostToWeibo:
return myImage3
default:
return myImage4
}
}
}3-基于选择的传递到UIActivityViewController的平台定义文本。
class activityTextShare: NSObject, UIActivityItemSource {
@objc func activityViewControllerPlaceholderItem(activityViewController: UIActivityViewController) -> AnyObject {
return ""
}
@objc func activityViewController(activityViewController: UIActivityViewController, itemForActivityType activityType: String) -> AnyObject? {
switch activityType {
case UIActivityTypePostToFacebook:
return "This is my text 1."
case UIActivityTypePostToTwitter:
return "This is my text 2."
case UIActivityTypePostToWeibo:
return "This is my text 3."
default:
return "This is my text 4."
}
}
}4-基于activityTextShare()和activityImageShare()中定义的文本和图像来表示activityImageShare()。
func myShareActivity() {
let activity = UIActivityViewController(activityItems: [activityTextShare(), activityImageShare()], applicationActivities: nil)
self.presentViewController(activity, animated: true, completion: nil)
}发布于 2017-11-23 20:32:50
尝试在activityViewControllerPlaceholderItem(activityViewController: UIActivityViewController)中返回占位符图像而不是"“
https://stackoverflow.com/questions/45198378
复制相似问题