2016-08-02 3 views
0

Я пытаюсь реализовать SWRevealViewController, но имею некоторые проблемы при попытке привязать переключатель к моей панели вкладок, вместо панели навигации или кнопки, как они предлагают в своих примерах.Как установить метод openToggle внутри UITabBarItem, а не UIButton с помощью «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 в качестве тега, так как это то же самое - просто другой синтаксис

ответ

0

Самый простой способ это UITabBarDelegate. Реализовать свой класс и наследовать протокол путем добавления после определения класса:

@interface MyViewController : UIViewController<UITabBarDelegate> 

, а затем определить метод TabBar: didSelectItem: в этом классе:

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

Выглядит хорошо, я попробую это. благодаря –

 Смежные вопросы

  • Нет связанных вопросов^_^