2017-06-13 5 views
0

Wie füge ich eine Aktion zu einem Registerkartenelement hinzu, wenn es gedrückt wird. Ich habe ein paar Dinge ausprobiert, aber entweder sind sie nicht richtig oder ich stelle sie an den richtigen Ort.Aktion ausführen, wenn TabBarItem gedrückt wird

In meinem Storyboard habe ich einen Registerkarten-Controller, der mit einem Navigationscontroller verbunden ist, und der natürlich mit einem ViewController verbunden ist. Ich habe versucht mit

func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) { 
     //This method will be called when user changes tab. 
    } 

I UITabBarDelegate hinzugefügt, und es ist Schweller nicht? Irgendwelche Ideen? Vielen Dank!

+0

Haben Sie den Delegaten der richtigen Klasse zugewiesen? –

+0

@KyleRedfearn Welcher Klasse sollte ich es anhängen? Der TabBarController, NavigationController oder der ViewController? – iFunnyVlogger

+0

Weisen Sie es der Klasse zu, in der Sie die Delegate-Methode implementiert haben –

Antwort

0

Sie müssen eine benutzerdefinierte Tab-Controller-Datei erstellen und diese als benutzerdefinierte Klasse Ihrem Tab-Controller zuweisen. Hier ein Beispiel:

import UIKit 

class CustomTabViewController: UITabBarController,UITabBarControllerDelegate { 

override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) { 
    print("Selected item", item.tag) 
} 


func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) { 
    print("Selected view controller", viewController) 
    print("index", tabBarController.selectedIndex) 

} 

} 
Verwandte Themen