Я использую SWRevealController
в моем приложении и следовал инструкции описаны здесь: http://www.appcoda.com/ios-programming-sidebar-navigation-menu/кнопка SWRevealController не обжиг revealToggle: Действие
Однако оказывается, что sidebarButton
не срабатывает тумблер
я поставил его следующим образом:
Начальный класс View Controller был установлен SWRevealViewController
Segue создана связывая его с т он NavigationViewController
и переход был дан идентификатор sw_front
У меня есть menuViewController
что наследнике UITableViewController
Я создал SEGUE от первоначального вида контроллера, чей класс SWRevealViewController
к menuViewController
и дал, что непосредственно перейти идентификатор sw_rear
В mainViewController.m
я импортировал SWRevealViewController.h
и я поставил кнопку меню
@property (weak, nonatomic) IBOutlet UIBarButtonItem *sidebarButton;
В mainViewController в методе viewDidLoad у меня есть следующие:
SWRevealViewController *revealViewController = [self revealViewController];
if (revealViewController)
{
[self.sidebarButton setTarget:self.revealViewController];
[self.sidebarButton setAction: @selector(revealToggle:)];
[self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
}
Когда я запустить приложение и поставить точку останова в точке, где я устанавливаю цели и действия для кнопки я могу видеть, что они присваиваемые.
Однако, когда я нажимаю кнопку, метод revealViewController.revealToggle
не стреляет.
Мне было интересно, может быть, мне нужно настроить событие, которое его запускает - как в случае с событием touchupInside
. Но я просмотрел весь образец кода https://github.com/appcoda/Slideout-Sidebar-Demo/tree/master/SidebarDemo и не вижу, где они это сделали. Я не понимаю, почему действие openToggle не срабатывает.
Большое спасибо за любые предложения
Спасибо Руния, но я уже подключили элемент кнопки «Брелок» к раскадровке, как вы описали выше. Я подумал, возможно, это потому, что он расположен на панели навигации, предоставляемой контроллером навигации, что может быть частью проблемы, но когда я нажимаю кнопку, я вижу, что она реагирует на мое прикосновение (это подчеркивает), но это не запустите метод openToggle. –
@ LindaKeating посмотрите на мой простой пример https://drive.google.com/file/d/0B_4RHbK4d8zRRFdDNExSMThjTVE/view?usp=sharing – runia
Спасибо, что мне очень повезло в вашем проекте и, в конце концов, я понял, что использовал неправильный UIControl - У меня был UIButton вместо BarButtonItem. –