繁体   English   中英

UIActivityViewController不共享图像

[英]UIActivityViewController not sharing images

以下代码旨在根据选择的不同平台共享不同的文本和不同的图像( UIImageNSData )。 问题是没有任何图像从activityImageShare()传递给UIActivityViewController

题:

这到底有什么问题?

我如何更正下面的代码,以确保activityImageShare()共享图像,并确保它们由UIActivityViewController拾取为activityType

码:

1-四个图像,三个UIImage和一个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()定义的文本和图像的UIActivityViewController

func myShareActivity() {
    let activity = UIActivityViewController(activityItems: [activityTextShare(), activityImageShare()], applicationActivities: nil)
    self.presentViewController(activity, animated: true, completion: nil)
}

尝试在activityViewControllerPlaceholderItem(activityViewController: UIActivityViewController)而不是“”中返回占位符图像

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM