关闭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行不会调用。
最好的运气..