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

利用UIActivityViewController共享图像
EN

Stack Overflow用户
提问于 2015-08-12 02:35:00
回答 5查看 24.1K关注 0票数 10

使用UIImageView共享来自UIActivityViewController的图像

我试图使用UIActivityViewController共享一个图像,但是我得到了错误:

代码语言:javascript
复制
func shareIMG(){
    let activityItems = [self.imageView.image]
    let avc = UIActivityViewController(activityItems: activityItems, applicationActivities: nil)

    self.presentViewController(avc, animated: true, completion: nil)
}

错误消息:

无法为类型“UIActivityViewController”找到接受类型参数列表(activityItems: UIImage?,applicationActivities: nil)的初始化程序

有什么想法吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-08-12 03:10:28

代码语言:javascript
复制
let activityItem: [AnyObject] = [self.imageView.image as! AnyObject]

let avc = UIActivityViewController(activityItems: activityItem as [AnyObject], applicationActivities: nil)

self.presentViewController(avc, animated: true, completion: nil)

备注:在Xcode 6.3模拟器中测试的上述代码

票数 18
EN

Stack Overflow用户

发布于 2015-12-19 14:14:01

只要创建一个按钮,它就可以行动了。然后像这样安装按钮的动作。

注意:你必须登录你的facebook或twitter通过设置。那就像这样做吧。

代码语言:javascript
复制
@IBAction func onShareTouched(sender: AnyObject) {

    print("share")

    let myShare = "My beautiful photo! <3 <3"
    let image: UIImage = UIImage(named: "yourImageNameHere")

    let shareVC: UIActivityViewController = UIActivityViewController(activityItems: [(image), myShare], applicationActivities: nil)
    self.presentViewController(shareVC, animated: true, completion: nil)

}
票数 5
EN

Stack Overflow用户

发布于 2016-11-10 08:12:17

使用Swift 5

代码语言:javascript
复制
   let img  = imageView.image!.pngData()
   let messageStr:String  = "some sharing text"
   let shareItems:Array = [img!, messageStr] as [Any]

   let activityViewController = UIActivityViewController(activityItems: shareItems, applicationActivities: nil)
    activityViewController.excludedActivityTypes = [UIActivity.ActivityType.print, UIActivity.ActivityType.postToWeibo, UIActivity.ActivityType.copyToPasteboard, UIActivity.ActivityType.addToReadingList, UIActivity.ActivityType.postToVimeo]

    if UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiom.phone {
        self.present(activityViewController, animated: true, completion: nil)
        } else {
            let popup: UIPopoverController = UIPopoverController(contentViewController: activityViewController)
            popup.present(from: sender.bounds, in: sender, permittedArrowDirections: UIPopoverArrowDirection.any, animated: true)
        }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31955140

复制
相关文章

相似问题

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