如何在 ViewController 之间正确传递 UIImage?
How to properly pass UIImage between ViewControllers?
试图通过 UITapGesture
在 ViewControllers
之间传递 UIImage
。我已成功添加 UITapGesture
,但是,我的 segue 拒绝执行。
这是我在初始视图中的代码:
var image: UIImage!
func imageTapped() {
println("it works!")
func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue == "enlargePhoto") {
let destinationVC = segue.destinationViewController as! EnlargedPhotoViewController
destinationVC.bigImage = image
}else {
println("your code sucksssss!")
}
}
}
目标 VC 代码:
import UIKit
import Parse
class EnlargedPhotoViewController: UIViewController {
@IBOutlet var enlargedHomeImage: UIImageView!
var bigImage: UIImage!
override func viewDidLoad() {
super.viewDidLoad()
self.enlargedHomeImage!.image = self.bigImage
}
知道为什么我的 UIImage
没有通过吗?我觉得一切都很好。
谢谢!
您将 prepareForSegue
声明为嵌套函数,框架不调用它,这就是为什么您没有将图像传递到目标的原因。正确的方法是在 class 范围内实现 prepareForSegue
(与 [=13= 相同的范围)。只需将 prepareForSegue
放在 [=13= 的花括号之外] 像这样:
func imageTapped() {
// Perform the segue
}
func prepareForSegue() {
// Pass the image reference
}
试图通过 UITapGesture
在 ViewControllers
之间传递 UIImage
。我已成功添加 UITapGesture
,但是,我的 segue 拒绝执行。
这是我在初始视图中的代码:
var image: UIImage!
func imageTapped() {
println("it works!")
func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue == "enlargePhoto") {
let destinationVC = segue.destinationViewController as! EnlargedPhotoViewController
destinationVC.bigImage = image
}else {
println("your code sucksssss!")
}
}
}
目标 VC 代码:
import UIKit
import Parse
class EnlargedPhotoViewController: UIViewController {
@IBOutlet var enlargedHomeImage: UIImageView!
var bigImage: UIImage!
override func viewDidLoad() {
super.viewDidLoad()
self.enlargedHomeImage!.image = self.bigImage
}
知道为什么我的 UIImage
没有通过吗?我觉得一切都很好。
谢谢!
您将 prepareForSegue
声明为嵌套函数,框架不调用它,这就是为什么您没有将图像传递到目标的原因。正确的方法是在 class 范围内实现 prepareForSegue
(与 [=13= 相同的范围)。只需将 prepareForSegue
放在 [=13= 的花括号之外] 像这样:
func imageTapped() {
// Perform the segue
}
func prepareForSegue() {
// Pass the image reference
}