ECSlidingViewController, не удается закрыть меню
Я использую ECSlidingViewController для моего меню, у меня есть начальный контроллер, меню и домашняя страница и страница входа. В начальном контроллере представления, если пользователь аутентифицирован, он видит домашнюю страницу, иначе я показываю диалог входа в систему. (используя собственный topViewController)
Кажется, все работает нормально, проблема у меня в том, что когда я в контроллере домашнего просмотра
если я нажимаю на значок меню (который я добавил программно), появляется меню, но если я нажимаю снова, чтобы закрыть его, ничего не происходит, меню остается видимым.
Я добавил NSLog и вижу, что вызываю правильный метод
- (IBAction)revealSidebar
{
NSLog(@"reveal ");
[self.slidingViewController anchorTopViewTo:ECRight];
}
Однако меню не скрывается.
Приложил несколько скриншотов, чтобы получить идею.
NSLog (@ "здесь");
2 ответа
ECSlidingViewController публикует следующие уведомления (среди прочих):
/** Notification that gets posted when the underLeft view will appear */
extern NSString *const ECSlidingViewUnderLeftWillAppear;
/** Notification that gets posted when the underLeft view will disappear */
extern NSString *const ECSlidingViewUnderLeftWillDisappear;
Вы можете зарегистрироваться, чтобы получать эти уведомления, а затем реализовывать методы-обработчики, например:
- (void)handleMenuDidShowNotification:(NSNotification *)notification
{
[self.menuItem setAction:@selector(closeMenu:)];
}
- (void)handleMenuDidHideNotification:(NSNotification *)notification
{
[self.menuItem setAction:@selector(openMenu:)];
}
- (void)closeMenu:(id)sender
{
[self.slidingViewController anchorTopViewTo:ECRight];
}
- (void)openMenu:(id)sender
{
[self.slidingViewController resetTopView];
}
Попробуйте обновить до соответствующей версии ECSlidingViewController
, Версия, используемая в то время, когда задавался этот вопрос, имела проблемы с настройкой жестов слишком поздно. Эта проблема была исправлена в версии 1.0.1.