2016-08-02 6 views
0

Ich versuche SWRevealViewController zu implementieren, aber einige Probleme beim Versuch, den Toggle an meine Tab-Leiste zu binden, anstatt Navigationsleiste oder eine Schaltfläche, wie sie in ihren Beispielen vorschlagen.Wie setze ich die reveaveToggle-Methode in einem UITabBarItem und nicht in einem UIButton mit 'SWRevealViewController'?

In ihrer Dokumentation Tutorials, sie tun:

[self.menuButton setTarget: self.revealViewController]; 
[self.menuButton setAction: @selector(revealToggle:)]; 

das Menü auszulösen.

Jetzt habe ich den Navigationscontroller deaktiviert. Ich möchte es stattdessen in einer UITabBar verwenden.

Das Problem ist, dass die Elemente des TabBar sind UITabBarItem, und enthalten keine solche Verfahren, die oben noch diese:

[self.menuButton addTarget:self.revealViewController 
action:@selector(rightRevealToggle:) 
forControlEvents:UIControlEventTouchUpInside]; 

Wie kann ich die bind binden die Aktion zu diesem UITabBarItem?

Hinweis: Ich füge Swift als Tag, wie es die gleiche - nur andere Syntax

Antwort

0

Die einfachste Art und Weise die UITabBarDelegate ist. Implementieren Sie Ihre Klasse und erbt das Protokoll durch die Zugabe nach der Klassendefinition:

@interface MyViewController : UIViewController<UITabBarDelegate> 

und dann definieren die Methode tabBar: didSelectItem: in dieser Klasse:

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item{ 
    if(item.title == @"First") { 
     [self.revealViewController revealToggle: self]; 
    } 
} 
+0

Sieht gut aus, ich werde versuchen, dass. Vielen Dank –

Verwandte Themen