Ios 在tabbarcontroller中更改选项卡时如何调用控制器?(Swift)

Ios 在tabbarcontroller中更改选项卡时如何调用控制器?(Swift),ios,swift,switch-statement,uitabbarcontroller,tabbar,Ios,Swift,Switch Statement,Uitabbarcontroller,Tabbar,我在选项卡栏控制器中有一个搜索选项卡和一个歌曲控制器。当用户点击歌曲控制器中的一个按钮并开始搜索时,我想跳转到搜索选项卡。我正在使用此代码更改选项卡 self.tabBarController?.selectedIndex = 0 上面的代码可以工作,但我想在更改选项卡时调用搜索选项卡中的搜索功能。您将收到通知在您的ViewController中实现UITabBarControllerDelegate协议 self.tabBarController?.delegate = self 您需要

我在选项卡栏控制器中有一个搜索选项卡和一个歌曲控制器。当用户点击歌曲控制器中的一个按钮并开始搜索时,我想跳转到搜索选项卡。我正在使用此代码更改选项卡

 self.tabBarController?.selectedIndex = 0

上面的代码可以工作,但我想在更改选项卡时调用搜索选项卡中的搜索功能。

您将收到通知在您的ViewController中实现
UITabBarControllerDelegate
协议

self.tabBarController?.delegate = self
您需要在viewDidLoad中为ViewController添加此行

self.tabBarController?.delegate = self
并实现了
UITabBarControllerDelegate
协议的这种方法

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

当在您的
选项卡中选择新的viewController时,您将收到通知。您是否尝试在搜索视图控制器的视图中调用搜索功能


每次您在选项卡栏中输入viewcontroller时,都会调用ViewWillDisplay。

如果我直接调用此self.tabBarController?。selectedIndex=0,则不调用委托函数,您需要实现UITabbarController delegate来完成此操作。我不知道为什么:((这篇文章似乎没有提供问题的答案。请编辑你的答案,或者只是作为对问题的评论发表)@sɐunıɔןɐqɐp我想将其作为评论发布,但我在应用程序中找不到这样的选项。不幸的是,这非常有限,在发布评论之前,你应该获得一点声望。这并不多,所以继续尝试回答问题,避免评论。我知道这很难,但这只是一开始。