通过URL共享图像

问题描述 投票:0回答:2

[我正在使用json从我的WordPress网站创建Images应用,并且我正在使用swift,我想通过我的应用在社交网络上共享图片,目前我尝试了此代码,但它仅适用于图片名称,我想从图片中共享图片网址,可能吗?

这是我的代码

 let myWebsite = NSURL(string: "nice")

           let img: UIImage = UIImage(named:"splash")!

           guard let url = myWebsite else {
               print("nothing found")
               return
           }

           let shareItems:Array = [img,url]
           let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: shareItems, applicationActivities: nil)
        activityViewController.excludedActivityTypes = [UIActivity.ActivityType.print, UIActivity.ActivityType.postToWeibo, UIActivity.ActivityType.copyToPasteboard, UIActivity.ActivityType.addToReadingList, UIActivity.ActivityType.postToVimeo]
        self!.present(activityViewController, animated: true, completion: nil)
ios swift xcode share
2个回答
0
投票

您有正确的主意,但您应将以下代码中的nice替换为网站网址,例如[http://www.google.com/

let myWebsite = NSURL(string: "nice") //replace "nice"

0
投票

如果需要下载图像然后共享,则应该单独进行操作,没有一种方法可以为您完成此操作。方法如下:

func shareImageFromUrl(_ string: String) {

    guard let myUrl = URL(string: string) else {
        print("Invalid url!")
        return
    }

    URLSession.shared.dataTask(with: myUrl) { (data, _, _) in
        guard let data = data,
            let image = UIImage(data: data) else
        { return }

        let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: [image], applicationActivities: nil)
        activityViewController.excludedActivityTypes = [UIActivity.ActivityType.print, UIActivity.ActivityType.postToWeibo, UIActivity.ActivityType.copyToPasteboard, UIActivity.ActivityType.addToReadingList, UIActivity.ActivityType.postToVimeo]
        DispatchQueue.main.async {
            self.present(activityViewController, animated: true, completion: nil)
        }
    }.resume()
}
© www.soinside.com 2019 - 2024. All rights reserved.