关闭ECSlidingViewController菜单

时间:2013-12-27 14:04:16

标签: ios ecslidingviewcontroller

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

3 个答案:

答案 0 :(得分:10)

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

顶视图控制器中的示例:

[self.slidingViewController anchorTopViewToRightAnimated:YES]

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

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

答案 1 :(得分:6)

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

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

+1问题和接受的答案

感谢。

答案 2 :(得分:0)

根据" 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行不会调用。

最好的运气..