这个问题是关于一个名为RESideMenu的非常受欢迎的Github sidemenucontroller项目。
我开始使用REFrostedViewController对应用程序进行编码,但它工作得非常好。
然而,在IOS8的到来之后,我认为RESideMenu看起来更现代,对我来说是更好的选择。
我遇到了一个小问题,现在几天我都无法解决。
所以从leftMenuController,当按下一个菜单项(play)时,我使用这段代码来改变viewcontrollers:
- (void) jumpToPlayVCversion1
{
UIViewController *viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"playController"];
UINavigationController * navCon = [[UINavigationController alloc] initWithRootViewController:viewController];
[self.sideMenuViewController setContentViewController:navCon animated:YES];
[self.sideMenuViewController hideMenuViewController];
}
它改变了PLAY viewcontoller并进行了很好的转换,但是由于某种原因," playController" s视图向下移动了一个导航栏高度(大约64像素)。
相反,当我使用以下代码更改VC时,&#34; playController&#34;就像它应该是的那样。然而,出现了两个问题:1-没有转换(它只是出现没有动画)和2-应用程序失去了它的能力&#34;从左到右滑动以弹出导航控制器堆栈或打开侧面菜单&#34; < / p>
- (void) jumpToPlayVCversion2
{
UINavigationController *navigationController = (UINavigationController*)self.sideMenuViewController.contentViewController;
UIViewController *viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"playController"];
navigationController.viewControllers = @[viewController];
[self.sideMenuViewController hideMenuViewController];
}
如果有人可以告诉我填写jumpToPlayVCversion3
的方法以便VC不会降低并且过渡将会可用,我将不胜感激。
PS。我正在使用带有故事板的项目。
谢谢,
Aytunc Isseven
答案 0 :(得分:4)
我在我的项目中试过这个并且效果很好。它隐藏了导航栏,因此playController
的视图不会向下移动导航栏高度(大约64像素)。
- (void) jumpToPlayVCversion1
{
UIViewController *viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"playController"];
UINavigationController * navCon = [[UINavigationController alloc] initWithRootViewController:viewController];
[navCon setNavigationBarHidden:YES];
[self.sideMenuViewController setContentViewController:navCon animated:YES];
[self.sideMenuViewController hideMenuViewController];
}