检查用户是否在UITabBarController中选择了相同的选项卡

问题描述 投票:0回答:1

我有一个UITabBarController的子类。问题是:有没有一种方法可以检查用户是否选择了已选择的UITabBarItem

我已经尝试过didSetselectedIndexselectedViewController以及不同的委托方法:

func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool

func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController)

func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem)

但是只有当它是一个不同的选项卡时才调用它们(并且根本不调用selectedIndex

例如,如果我想将当前打开的控制器滚动到顶部,而不是当前打开的控制器,那么我就不想滚动它,我只想显示它(还有一些与动画有关的其他内容)。

谢谢

ios swift uitabbarcontroller
1个回答
0
投票

这里是一种可以帮助您的快速方法。

override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
    let currentIndex = tabBar.items?.firstIndex(of: item)
    if selectedIndex == 0 && currentIndex == 0 {
        // Do Something
    } else if selectedIndex == 1 && currentIndex == 1 {
        // Do Something
    }
}
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.