我已将ECSlidingViewController
框架实施到我的项目中。这样可行。我可以使用左侧菜单在我的Viewcontrollers之间切换
但现在我想通过点击UIButton
:
NSString *identifier = [NSString stringWithFormat:@"%@", @"newView"];
UIViewController *newTopViewController = [self.storyboard instantiateViewControllerWithIdentifier:identifier];
[self.slidingViewController anchorTopViewOffScreenTo:ECLeft animations:nil onComplete:^{
CGRect frame = self.slidingViewController.topViewController.view.frame;
self.slidingViewController.topViewController = newTopViewController;
self.slidingViewController.topViewController.view.frame = frame;
}];
当我点击此按钮时,newView
- ViewController 位于顶部,但左侧菜单也可见。我尝试了以下所有内容来隐藏菜单:
[self.slidingViewController anchorTopViewTo:ECRight];
...
self.slidingViewController.underRightWidthLayout = ECVariableRevealWidth;
...
[self.slidingViewController anchorTopViewTo:ECLeft];
...
[self.slidingViewController anchorTopViewOffScreenTo:ECLeft];
...
self.slidingViewController.underLeftWidthLayout = ECFullWidth;
...
[self.slidingViewController resetTopView];
如何隐藏左侧菜单?
对不起我的英语错误,我来自德国。
答案 0 :(得分:0)
在整个过程中不要继续使用self.slidingViewController
。每次都会对其进行评估,因此当您更改滑动控制器中的视图控制器时,您可以断开链接。因此,缓存滑动控制器参考并重复使用它:
ECSlidingViewController *slidingViewController = self.slidingViewController;
[slidingViewController ...];
[slidingViewController ...];
答案 1 :(得分:0)
在onComplete块的末尾调用resetTopView
应隐藏菜单。
答案 2 :(得分:0)
显示/隐藏SlideViewController
[viewController.slidingViewController anchorTopViewToRightAnimated:YES];
if ([viewController.slidingViewController currentTopViewPosition] == ECSlidingViewControllerTopViewPositionAnchoredRight) {
[viewController.slidingViewController resetTopViewAnimated:YES];
}