UITabBar 项目未选择在 swift 5 中调用



我在swift 5中使用了标签栏。但是当我单击选项卡栏项目时,选项卡栏确实选择了未调用的项目。但我没有使用TabbarViewController。我已经在我的视图控制器中使用了以下代码。

class ViewController: UIViewController,UITabBarDelegate {
 @IBOutlet weak var bottomTab: UITabBar!
  override func viewDidLoad() {
     super.viewDidLoad()
     bottomTab.delegate = self
  }
 func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) {
      print("Selected item")
   }
 }

请帮助我从视图控制器调用didSelectItem

1( 在你的视图控制器中继承 UITabBarControllerDelegate

2( 在视图中设置委托DidLoad

3( 添加函数

例:

class ViewController: UIViewController, UITabBarControllerDelegate {
   func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
        let tabBarIndex = tabBarController.selectedIndex
        if tabBarIndex == 0 {
            //do your stuff
        }
   }
   override func viewDidLoad() {
        super.viewDidLoad()
        self.tabBarController?.delegate = self
   }
}

我相信您正在实现不正确的方法。请尝试改为实现此方法:

func tabBar(UITabBar, didSelect: UITabBarItem( 当用户选择选项卡栏项时发送给代理。

最新更新