【问题标题】:Pass image from ViewController to ViewController child of TabBarController in Swift将图像从 ViewController 传递到 Swift 中 TabBarController 的 ViewController 子项
【发布时间】:2016-03-03 14:43:23
【问题描述】:

我被这个问题困扰了几天,无法破解。这是上下文的概述。

用户从HomeViewController 开始,这是一个选项卡式视图。点击按钮激活到SketchViewController 的segue,这不是标签。用户绘制图像。用户点击完成按钮表示草图已完成。图像被保存到SketchViewController 上的小、隐藏的UIImageView。我想将此图像传递给 HomeViewController,它将在其中使用。

这是图片开始的SketchViewController

class SketchViewController: UIViewController {

@IBOutlet weak var SketchHiddenImage: UIImageView!

@IBAction func DoneButtonTapped(sender: AnyObject) {
//screenshot taken which results in the following
SketchHiddenImage.image = image
}

// Pass image to HomeViewController

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "toTabController" {
    let tabbar: UITabBarController = segue.destinationViewController as! UITabBarController
        let DestViewController: HomeViewController = tabbar.viewControllers?.first as! HomeViewController

 DestViewController.sketchImage = SketchHiddenImage.image
}
}

这是我希望图像结束的 HomeViewController:

class AskViewController: UIViewController {

@IBOutlet weak var HiddenTransferImage: UIImageView!

var sketchImage = UIImage!()
}

我有一个故事板“show”从SketchViewController 转至TabViewController,身份为“toTabController”。

我看过所有其他类似的帖子,但这种情况有一些复杂性,例如TabBarController,到目前为止,对这些其他帖子的合并和操纵并没有帮助我解决这个问题。无论如何,谢谢你的指导。

【问题讨论】:

  • 给以后引用这个的人的注释,AskViewController = HomeViewController,对此感到抱歉

标签: ios xcode swift


【解决方案1】:

您不想使用普通的转场返回您的HomeViewController,因为它会创建一个新的视图控制器。相反,您想使用 unwind segue

查看这个问题,了解如何设置展开转场:

How to set up unwind segue

您可以将prepareForSegue 与展开转场一起使用。目标视图控制器将是您要返回的视图控制器(即首先调用 SketchViewController 的视图控制器)。获得调用视图控制器后,将图像保存到其中:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "returnToHomeViewController" {
        let homeVC = segue.destinationViewController as! AskViewController
        homeVC.sketchImage = SketchHiddenImage.image
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-17
    • 2017-11-08
    • 1970-01-01
    • 2017-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多