7

我想以按下菜单按钮将显示我的菜单并再次按下菜单将隐藏它的方式实现我的滑动菜单。但我不明白如何使用 ECSlidingViewController 来做到这一点。将不胜感激任何帮助。

4

3 回答 3

10

ECSlidingViewController 有这方面的方法anchorTopViewToRightAnimated:anchorTopViewToLeftAnimated:resetTopViewAnimated:

顶视图控制器中的示例:

[self.slidingViewController anchorTopViewToRightAnimated:YES]

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

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

于 2013-12-27T15:06:49.553 回答
6

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

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

+1 的问题和接受的答案

谢谢。

于 2014-05-17T05:05:25.613 回答
0

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

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

这 4 行用于 tableview 的委托方法。您可能没有使用 tableview,所以这 4 行没有调用。

祝你好运。。

于 2015-07-08T08:24:22.470 回答