gpt4 book ai didi

ios - 如何通过快速单击按钮功能调用标签栏 View Controller

转载 作者:可可西里 更新时间:2023-11-01 00:36:25 25 4
gpt4 key购买 nike

我有一个 common tab bar view controller。我已经将 3 个其他 View Controller 连接到 navigation bar 并且我连接了这 3 个 View Controller 与主要的标签栏 View Controller 。所以现在我有 3 个标签栏项目和 3 个 View Controller 。

1.Home 2.Cart 3.feedback

这很好!!

现在我的第一个 View Controller (这是我的第一个tab bar view controller)有一些表格 View 数据详细 View Controller 。在我的详细 View Controller 中,我有一个名为“转到购物车”的按钮。

所以实际的流程是当用户按下 Go to cart 时。它必须移动到 cart` view controller。现在它移动了。

但问题是。我无法看到我的标签栏项目和其他项目。但是如果我正常查看每个标签栏项目,它会显示所有标签栏项目。

当我从我的详细 View 按钮转到我的购物车标签栏 View Controller 时..然后没有标签栏项目显示出来。

我像演示原型(prototype)一样做了所有这些。就像我从按钮拖到购物车选项卡栏 View Controller 导航栏一样。

但它没有显示标签栏为什么。请帮帮我。我没有任何单一的解决方案来解决这个问题。我正在使用 swift 2.2。

谢谢。

enter image description here

更新:

所以我需要编写这样的代码,对吗?但我不知道如何处理这段代码:

 let barViewControllers = sender.destinationViewController as! UITabBarController

let nav = barViewControllers.viewControllers![1] as! UINavigationController

let destinationViewController = nav.topViewController as! CartVC

但是我在第一行就崩溃了:

fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb)

请帮帮我

最佳答案

enter image description here

这是与您类似的 Storyboard。

现在从类似于我 Storyboard中的“显示第二个选项卡”按钮的“转到购物车”按钮中删除 segue

而是按如下方式为其提供操作,

 @IBAction func showSecondTab(sender: AnyObject) {
let navController = self.tabBarController?.viewControllers![1] as! UINavigationController
///secondviewcontroller in your case is cart
let secondViewController = navController.viewControllers[0] as! SecondViewController
//set values you want to pass
//lets say I want to pass name to secondVC
secondViewController.name = "ABCD"

self.tabBarController?.selectedIndex = 1
}

您可以在 secondVC(CartVC) 的 viewDidLoad 中打印和检查值。

关于ios - 如何通过快速单击按钮功能调用标签栏 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38509896/

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