将图像转移到下一个 ViewController (Swift)

Posted

技术标签:

【中文标题】将图像转移到下一个 ViewController (Swift)【英文标题】:Segue Image to next ViewController (Swift) 【发布时间】:2020-04-10 11:05:46 【问题描述】:

我试图将缓存/下载的图像传递给我的显示视图控制器,该控制器将使用不同的图像进行分隔。我可以下载图像并将其设置为当前控制器上的 UIImageView,或者如果我手动下载 UIImage 图像,我可以将其分配给 ImageStore 变量。但是,当通过缓存/下载方法下载我的图像时,它以 UIImageView 的形式到达,我如何将它作为变量传递给另一个控制器?

@IBOutlet weak var Image1: UIImageView!



var ImageStore: UIImage!//transfer image code to next screen
var ImageStore: UIImage!//transfer image code to next screen

@IBAction func Chart1Click(_ sender: Any)//chart 1

    performSegue(withIdentifier: "Chart1", sender: nil)


@IBAction func Chart2Click(_ sender: Any)//chart 2

    performSegue(withIdentifier: "Chart2", sender: nil)


@IBAction func Button(_ sender: Any)//download charts

    Image1.sd_setImage(with: URL(string: "https://www.vedur.is/photos/flugkort/PGDE14_EGRR_0000.png"), placeholderImage: UIImage(named: "placeholder.png"))
 //assing the Image1 to ImageStore ??

//more downloaded here



override func prepare(for segue: UIStoryboardSegue, sender: Any?)

    if (segue.identifier == "Chart1")
    
        let destinationViewController = segue.destination as! ChartAController
        destinationViewController.TransferImage = ImageStore
        print("Chart 1 Segue")
    
    if (segue.identifier == "Chart2")
    
        let destinationViewController = segue.destination as! ChartAController
        destinationViewController.TransferImage = ImageStore2
        print("Chart 2 Segue")
    

【问题讨论】:

【参考方案1】:

只需发送

ImageStore.image

它应该可以解决问题。如果你想发送图片而不是 imageView。

【讨论】:

我如何将我的 Image1 分配给 ImageStore?还是将图片下载到一个空的 UIImageView 变量中?

以上是关于将图像转移到下一个 ViewController (Swift)的主要内容,如果未能解决你的问题,请参考以下文章

如果条件有效,则转到下一个 ViewController 并传递数据

Xcode 图像将 ImageView 链接到下一个 View Controller

将数据从一个 ViewController 传递到下一个时遇到问题

如何强制 ViewController 将 'b' 而不是 'a' 中的数据导出到下一个 VC?

我想使用 didSelectRowAt 将数组从 UITableView 显示到下一个 viewController

将数组发送到下一个viewcontroller iOs xcode [重复]