首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIActivityViewController不共享图像

UIActivityViewController不共享图像
EN

Stack Overflow用户
提问于 2017-07-19 18:27:26
回答 1查看 391关注 0票数 1

下面的代码打算根据所选的不同平台共享不同的文本和不同的图像(UIImageNSData)。问题是,没有任何图像从activityImageShare()传递到UIActivityViewController

问题:

到底是怎么回事? 我如何纠正下面的代码,以确保activityImageShare()共享图像,并确保它们被UIActivityViewController作为activityType获取?

代码:

1-4张图片,3张UIImage和1张NSData

代码语言:javascript
复制
var myImage1: UIImage! 
var myImage2: UIImage!
var myImage3: NSData!
var myImage4: UIImage!

2-根据选定的平台定义图像以传递给UIActivityViewController

代码语言:javascript
复制
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的平台定义文本。

代码语言:javascript
复制
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()

代码语言:javascript
复制
func myShareActivity() {
    let activity = UIActivityViewController(activityItems: [activityTextShare(), activityImageShare()], applicationActivities: nil)
    self.presentViewController(activity, animated: true, completion: nil)
}
EN

回答 1

Stack Overflow用户

发布于 2017-11-23 20:32:50

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45198378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档