我的标签栏控制器代表出了什么问题?

时间:2017-07-17 18:07:58

标签: ios swift uitabbarcontroller uitabbar

我有以下课程

class FeedViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource, UITabBarDelegate {
    func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
        print("It worked!")
    }
}

正如我从文档中理解的那样,每当按下标签栏时都应该调用tabBar函数,但它不是。

故事板如下Storyboard screenshot

该类位于视图控制器上的HomeScreen节点内。我试图在这里执行此操作,因为我有一个特定的函数调用,必须在这个类中进行,我需要在每次用户按下相应的选项卡控制器时调用它。

2 个答案:

答案 0 :(得分:0)

    self.delegate = self

让您的控制器成为自己的代表。您也可以在IB中这样做。右键单击tabbarcontroller视图并将委托拖动到自身。也可以从UITabBarControllerDelegate使用这个方法:         func tabBarController(_ tabBarController:UITabBarController,didSelect viewController:UIViewController)

答案 1 :(得分:0)

我通过添加

修复了它
tabBarController?.delegate = self

到feedViewController