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

How to call the controller when changing tab in tabbarcontroller? (Swift)

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

 self.tabBarController?.selectedIndex = 0

以上代码有效,但我想在更改标签时调用搜索标签中的搜索功能。

您将 收到通知 在您的 ViewControllers

中实施 UITabBarControllerDelegate 协议

您需要在您的 viewController 的 viewDidLoad 中添加这一行

self.tabBarController?.delegate = self

并实现 UITabBarControllerDelegate 协议的这个方法

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

当您在 tabBarController

中选择了新的 viewController 时,您将收到通知

您是否尝试在搜索视图控制器的 viewWillAppear 中调用搜索功能?

每次您在标签栏中输入 viewcontroller 时都会调用 viewWillAppear。