如何使用 'SWRevealViewController' 在 UITabBarItem 而不是 UIButton 中设置 revealToggle 方法?

How to set the revealToggle method inside a UITabBarItem and not a UIButton using 'SWRevealViewController'?

我正在尝试实现 SWRevealViewController,但在尝试将切换按钮绑定到我的选项卡栏时遇到了一些问题,而不是像他们在示例中建议的那样绑定导航栏或按钮。

在他们的文档教程中,他们这样做:

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

触发菜单。

现在我禁用了导航控制器。我想在 UITabBar 中使用它。

问题是 TabBar 的元素是 UITabBarItem,不包含上面的那些方法,也不包含这些:

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

如何将绑定操作绑定到该 UITabBarItem?

注意:我将 Swift 添加为标记,因为它是相同的 - 只是语法不同

最直接的方法是 UITabBarDelegate。通过在 class 定义后添加 class 来实现您的 class 并继承协议:

@interface MyViewController : UIViewController<UITabBarDelegate>

然后定义方法tabBar:didSelectItem:在那class:

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