gpt4 book ai didi

ios - 将数据从一个 Tabbar VC 传递到另一个 Tabbar VC 而不会丢失 Tabbar

转载 作者:行者123 更新时间:2023-11-30 12:12:03 28 4
gpt4 key购买 nike

我想将照片数据从 Tabbarcontroller 中的一个 Viewcontroller(cameraVC) 传递到同一 Tabbarcontroller 中的另一个 Viewcontroller(mainVC) 在执行转场后不会丢失选项卡栏。

设置:*标签栏 Controller

      -Navbarcontroller
--mainVC (Tabbar Item)
--cameraVC (Tabbar Item)

我必须能够在cameraVC中使用prepareForSegue和performSegue(这就是我将数据传递给mainVC的方式)。

我尝试过但没有成功: Keeping tab bar on View after segue? , Why TabBar hides after the segue?

当前实现:

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

let destinationNavigationController = segue.destination as! UINavigationController
let targetController = destinationNavigationController.topViewController as! HomeVC

// if let homeVC = segue.destination as? HomeVC {
if let imageDict = sender as? Dictionary<String, Any> {
let imageData = imageDict["snapshotData"]
targetController.imageData = imageData as? Data

// }
}
}

@IBAction func sendBtnPressed(_ sender: Any) {

performSegue(withIdentifier: "goFeed", sender: ["snapshotData": photoData.removeValue(forKey: "photoData")])

imageTaken.image = nil
self.view.insertSubview(previewView, aboveSubview: imageView)
}

最佳答案

您错误地使用了 performSegue(_:, sender:) 方法的 sender 参数。它应该是 View Controller 启动segue。看起来您的 photoData 属性属于启动 segue 的 View Controller ,因此只需在 prepareForSegue 方法中直接访问它即可。所以它看起来像这样:

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

let destinationNavigationController = segue.destination as! UINavigationController
let targetController = destinationNavigationController.topViewController as! HomeVC

if let imageData: Data = self.photoData["photoData"] as? Data {
targetController.imageData = imageData
}
}

@IBAction func sendBtnPressed(_ sender: Any) {

performSegue(withIdentifier: "goFeed", sender: self)

imageTaken.image = nil
self.view.insertSubview(previewView, aboveSubview: imageView)
}

关于ios - 将数据从一个 Tabbar VC 传递到另一个 Tabbar VC 而不会丢失 Tabbar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45931231/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com