将图像转移到下一个 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?