2017-07-17 1 views
0

J'ai la classe suivanteQu'est-ce qui ne va pas avec mon délégué de contrôleur de barre d'onglets?

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

que je comprends de la documentation, la fonction tabBar doit être appelée à chaque fois une barre d'onglets est pressé, mais ce n'est pas.

Le story-board se présente comme suit Storyboard screenshot

Lorsque la classe est à l'intérieur du noeud HomeScreen sur le contrôleur de vue. J'essaye de faire cette opération ici parce que j'ai un appel de fonction spécifique qui doit être fait dans cette classe que j'ai besoin d'appeler chaque fois qu'un utilisateur appuie sur son contrôleur de tabulation correspondant.

+1

Quelle classe est l'ensemble des délégués à? Il devrait être réglé sur le FeedViewController –

Répondre

0
self.delegate = self 

Faites de votre contrôleur un délégué de lui-même. Vous pouvez le faire aussi dans IB. Cliquez avec le bouton droit sur la vue tabbarcontroller et faites glisser le délégué vers lui-même. Il peut également utiliser cette méthode de UITabBarControllerDelegate: func tabBarController (_ tabBarController: UITabBarController, didSelect viewController: UIViewController)

0

Je l'ai fixé en ajoutant

tabBarController?.delegate = self 

Au feedViewController