要从uiview快速访问标签栏

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

在我的应用程序中,当我收到任何通知时,我正在显示customView。并且,如果用户触摸屏幕上的任意位置,该视图将消失。我有一个带有四个标签的UITabBar。收到通知后,当我单击视图时,应选择第二个选项卡(我可能在应用程序中的任何位置)。但是我无法选择第二个选项卡。它总是打开第一个选项卡。如何从此customView调用“ didSelect项”?以下是我的代码。请验证并帮助我解决问题。

我的代码是:

{
    let storyBoard = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "MainTabbarView") as? MainTabbarView
    storyBoard?.selectItem(withIndex: 3)  
} 

在我的UITabBarController中,我写了以下代码:

func selectItem(withIndex index: Int) {
    if let controller = tabBarController, let tabBar = tabBarController?.tabBar, let items = tabBarController?.tabBar.items {
        guard index < items.count else { return }
        controller.selectedIndex = index
        controller.tabBar(tabBar, didSelect: items[index])
    }
} 

override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
    if let items = tabBar.items {
        items.enumerated().forEach { if $1 == item { print("your index is: \($0)") } }
    }
}
swift uiview tabbar
1个回答
0
投票
activeViewController.tabBarController.selectedIndex = 1

应该这样做。

© www.soinside.com 2019 - 2024. All rights reserved.