Habe ich eine tab-bar-Anwendung, und ich muss wissen, Wann und welche Taste der Benutzer tippt auf die tab-Leiste zur Anzeige der entsprechenden Meldungen und so.
Kurz: Wie würde ich mich über die Erkennung der index einer klopfte UITabBarItem auf eine UITabBar?
Vielen Dank im Voraus!
InformationsquelleAutor der Frage esqew | 2010-09-22
Die Antwort hängt davon ab, ob oder nicht die UITabBar wird geführt von einem UITabBarController oder nicht.
Fall 1 - UITabBar ist bereits behandelt, indem ein UITabBarController
Umsetzung der
UITabBarControllerDelegate
Protokoll. Speziell dietabBarContoller:didSelectViewController:
Methode. Legen Sie eine Instanz Ihrer Klasse, implementiert das Protokoll alsdelegate
desUITabBarController
.In diesem Fall müssen Sie sich bewusst sein, der speziellen situation, wo Sie haben genug Controller in der Registerkarte controller zu verursachen, die "Mehr" - tab angezeigt werden. In diesem Fall erhalten Sie einen Anruf, um die
tabBarController:didSelectViewController:
mit einem view-controller, der nicht in der Liste (es ist eine Instanz einer internen UIKit-Klasse UIMoreNavigationController). In diesem Fall wird dieindexOfTab
in meinem Beispiel wirdNSNotFound
.Fall 2 - UITabBar NICHT bereits behandelt, indem ein UITabBarController
Umsetzung der
UITabBarDelegate
Protokoll. Speziell dietabBar:didSelectItem:
Methode. Legen Sie eine Instanz Ihrer Klasse, implementiert das Protokoll alsdelegate
desUITabBar
.BEARBEITEN: Verändert die Methode den parameter Variablen zu eliminieren, die OP ist Compilerwarnung über
tabBarController
versteckt.InformationsquelleAutor der Antwort imaginaryboy
Gibt es eine definierte Methode, die in der
UITabBarDelegate
Protokoll genannttabBar:didSelectItem:
die Sie zu Benachrichtigen und, wenn einUITabBarItem
ausgewählt ist (abgegriffen).InformationsquelleAutor der Antwort Jacob Relkin
SWIFT 3:
InformationsquelleAutor der Antwort lenooh
Habe ich es wie folgt :
Dies ist eine benutzerdefinierte Klasse, die erweitert UITabBarController
.h
.m
InformationsquelleAutor der Antwort Shishi
SWIFT 4:
Ich lieber
InformationsquelleAutor der Antwort dengApro