3

我正在为我的菜单使用 ECSlidingViewController,我有一个初始控制器、菜单、一个主页和一个登录页面。在初始视图控制器中,如果用户通过身份验证,他们会看到主页,否则我会显示登录对话框。(使用自己的topViewController)

一切似乎都很好,我遇到的问题是当我在主视图控制器中时

如果我点击菜单图标(我以编程方式添加),菜单就会显示出来,但如果我再次点击关闭它,什么也不会发生,菜单仍然可见。

我添加了一个 NSLog 并且我可以看到我正在调用正确的方法

- (IBAction)revealSidebar
{
 NSLog(@"reveal ");
    [self.slidingViewController anchorTopViewTo:ECRight];

}

然而,菜单并没有隐藏自己。

附上一些截图来了解这个想法。

NSLog(@"这里");

4

2 回答 2

1

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];
}
于 2013-06-20T19:25:48.363 回答
0

尝试升级到适当版本的ECSlidingViewController. 问这个问题时使用的版本存在设置手势太晚的问题。此问题已在版本 1.0.1 中修复。

于 2013-11-16T02:06:40.500 回答