使用没有导航菜单的ECSliding切换视图

我正在使用ECSlidingViewController 。

在示例项目中,我在IBAction的第一个视图中添加了一个button
我想要第一个视图上的button转到第二个视图(不使用滑出式导航)。

- (IBAction)btnPressed:(id)sender { UIViewController *newTopViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"SecondTop"]; [self.slidingViewController anchorTopViewOffScreenTo:ECRight animations:nil onComplete:^{ CGRect frame = self.slidingViewController.topViewController.view.frame; self.slidingViewController.topViewController = newTopViewController; self.slidingViewController.topViewController.view.frame = frame; [self.slidingViewController resetTopView]; }]; } 

有了这个代码,它只能进入导航滑出菜单,不会去第二个

不要总是使用self.slidingViewController 。 这是一个派生的属性,而不是一个静态的值。 所以发生了什么事是你用第二个视图replace第一个视图,然后第一个视图不能再得到滑动控制器(你打破了它的参考)。 所以,做这个,而不是:

 - (IBAction)btnPressed:(id)sender { ECSlidingViewController *slidingViewController = self.slidingViewController; UIViewController *newTopViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"SecondTop"]; [slidingViewController anchorTopViewOffScreenTo:ECRight animations:nil onComplete:^{ CGRect frame = slidingViewController.topViewController.view.frame; slidingViewController.topViewController = newTopViewController; slidingViewController.topViewController.view.frame = frame; [slidingViewController resetTopView]; }]; }