【问题标题】:How to remove and add tabbar item in swift 4如何在swift 4中删除和添加标签栏项目
【发布时间】:2020-03-07 11:57:15
【问题描述】:

如何在购物车为空时删除结帐栏项目并在购物车加载时再次显示,当它是 3 项目时也删除空间

[]

我试过了,但它从数组中删除了项目

  if var tabs = self.tabBarController?.viewControllers {
            tabs.remove(at: indexToRemove)
            self.tabBarController?.viewControllers = tabs
        } else {
            print("There is something wrong with tabbar 
  controller")
        }

【问题讨论】:

    标签: swift xcode tabbar


    【解决方案1】:

    您从tabs 数组中删除了viewController,而不是tabBarController 的viewControllers 数组。 (检查两个数组的计数以显示这一点)

    您需要做的就是:

     self.tabBarController.viewControllers?.remove(at: indexToRemove)
    

    这将从标签栏中删除 viewController。顺便说一句,根据 viewController 的创建方式,它也可能会取消初始化它,所以如果您打算稍后再次添加它而不重新初始化它,请注意这一点。确保你对它有强烈的参考。要重新添加它,只需将其插入回数组中即可。

    【讨论】:

    • 如何在此处再次添加相同的栏项目结帐项目
    • 根据我的最后一段,保留对 viewController 的引用。如果您已经有一个存储属性,请使用它,否则.remove(at:) 返回已删除的元素,以便您可以捕获和使用它。 let removedVC = tabBarController.viewControllers?.remove(at: indexToRemove) 然后 `tabBarController.viewControllers?.insert(removedVC, at: indexToInsert')
    猜你喜欢
    • 1970-01-01
    • 2017-12-22
    • 1970-01-01
    • 1970-01-01
    • 2016-07-09
    • 2012-09-20
    • 1970-01-01
    • 2017-10-30
    • 1970-01-01
    相关资源
    最近更新 更多