关闭ECSlidingViewController菜单

我想实现我的滑动菜单,按下菜单按钮将显示我的菜单,再次按下菜单将隐藏它。 但我无法理解如何使用ECSlidingViewController。 将不胜感激任何帮助。

ECSlidingViewController有以下方法: anchorTopViewToRightAnimated: , anchorTopViewToLeftAnimated:resetTopViewAnimated: .

顶视图控制器中的示例:

 [self.slidingViewController anchorTopViewToRightAnimated:YES] 

ECSlidingViewController为UIViewController提供了一个类别,添加了这个slidingViewController属性。

您可能还想使用ECSlidingViewController的currentTopViewPosition来确定您的按钮是否应显示您的菜单或在当前上下文中隐藏它。

我想出了这个问题,上面的回答帮助我解决了这个问题。 但我只需要在代码示例中添加更详细的答案,以便其他人如果遇到这样的问题就可以从中受益。

 - (IBAction)showSlidingMenu:(id)sender { [self.slidingViewController anchorTopViewToRightAnimated:YES]; if ([self.slidingViewController currentTopViewPosition] == ECSlidingViewControllerTopViewPositionAnchoredRight) { [self.slidingViewController resetTopViewAnimated:YES]; } } 
  • 请注意我将顶视图控制器设置为右侧动画,因此我正在检查顶视图位置是否为ECSlidingViewControllerTopViewPositionAnchoredRight
  • 类似地,如果您向左侧设置动画,则顶视图位置具有ECSlidingViewControllerTopViewPositionAnchoredLeft
  • 如果菜单未显示顶视图位置将获得ECSlidingViewControllerTopViewPositionCentered

问题+1和接受的答案

谢谢。

根据“ECSlidingViewController示例项目”,您需要将这4行放在FirstTopController的ViewWillAppear中(例如TransitionViewController):

 self.slidingViewController.topViewAnchoredGesture = ECSlidingViewControllerAnchoredGestureTapping | ECSlidingViewControllerAnchoredGesturePanning; self.slidingViewController.customAnchoredGestures = @[]; [self.navigationController.view removeGestureRecognizer:self.dynamicTransitionPanGesture]; [self.navigationController.view addGestureRecognizer:self.slidingViewController.panGesture]; 

这四行用于tableview的委托方法。 您可能没有使用tableview,因此这4行不会调用。

最好的运气..