swift - 如何在 swift 4 中删除和添加选项卡栏项目

标签 swift xcode tabbar

如何在购物车为空时删除结账栏项目,并在购物车已加载时再次显示,以及在有 3 项项目时删除空间

[this is the 4 item ]

我尝试了这个,但它从数组中删除了该项目

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

最佳答案

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

您需要做的是:

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

这将从选项卡栏中删除 viewController。顺便说一句,根据 viewController 的创建方式,它也可能会取消初始化,因此如果您打算稍后再次添加它而不重新初始化它,请注意这一点。确保你对它有强有力的引用。要将其添加回来,只需将其插入到数组中即可。

关于swift - 如何在 swift 4 中删除和添加选项卡栏项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58807417/

相关文章:

swift - 使用segue显示新 View 时如何保留导航栏和选项卡栏

objective-c - 使用 Cocoa 在另一个应用程序之上创建 HUD

ios - 如何获取 UINavigationController 的 rootViewController

ios - 使用设备上的仪器进行自动化测试

iOS7无法隐藏tabbar、黑条

Flutter 应用栏布局 : action buttons in the same row with tab bar?

ios - 快速添加谷歌地图 View ?

ios - UISwipeGesture 'unrecognized selector sent to instance'

objective-c - NSMenu 项目上的黑色色调

xcode - 如何配置 XCode 以创建正确的应用程序包