我正在尝试将图像从一个 View 传递到另一个 View ,但我的代码似乎无法正常工作 - 它会将用户带到新 View ,但图像也没有转移。任何帮助将不胜感激!
因此,这里有一个名为 Post 的按钮,它将用户带到一个新 View 。
@IBAction func postButton(sender: AnyObject) {
performSegueWithIdentifier("toBrowsePage", sender: nil)
}
然后,在另一个 View Controller 的另一个文件中...
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "toBrowsePage" {
var itemToAdd = segue.destinationViewController as! ListPage
itemToAdd.postingImage.image = browsingImage.image
}
}
最佳答案
永远不要像这样直接从另一个 ViewController
分配图像:
itemToAdd.postingImage.image = browsingImage.image
但不是这样做只是将 imageName
传递给下一个 View Controller 并在您的 nextViewController
中创建一个实例来保存这个图像名称,然后您可以分配它其他 ViewController
的 ViewDidLoad
方法中的图像。
考虑这个例子:
你可以这样传递ImageName
:
itemToAdd.imageName = "YourImageName"
在您的 nextViewController
中创建一个包含此 String
的实例:
var imageName = ""
在您的 ViewDidLoad
方法中:
postingImage.image = UIImage(named: imageName)
希望这会有所帮助。
关于swift - 在 View Controller 之间传递数据 (Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31554620/