ECSlidingViewController:无法隐藏菜单

时间:2013-08-20 10:12:13

标签: ios objective-c ecslidingviewcontroller

我已将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];

如何隐藏左侧菜单?

对不起我的英语错误,我来自德国。

3 个答案:

答案 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];
    }