横向导航控制器,弹出向上滚动

Posted

技术标签:

【中文标题】横向导航控制器,弹出向上滚动【英文标题】:Navigation controller in landscape, pop scrolls up 【发布时间】:2011-06-18 06:02:58 【问题描述】:

我的应用程序使用导航控制器,我正在尝试插入横向支持! 我有我的 NavigationController 和一个视图,使用 IBAction(在 UIButton 处连接)调用此代码:

view *myview = [[view alloc] initWithNibName:@"view" bundle:[NSBundle mainBundle]];
[self pushViewController:myview animated:YES];

当然,我已经在我的 NavigationController_Class 中导入了“myview.h”

因此,对于景观,我已将此代码插入“myview.m”和“NavigationController_Class.m”中

 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
 return ((interfaceOrientation == UIInterfaceOrientationPortrait) || (interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) || (interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight));
 

有什么问题? 它可以工作,但是当您触摸从堆栈中弹出视图的按钮时,它不是从右到左滚动,而是从上到下滚动!

你知道可能是什么问题吗? 谢谢!

【问题讨论】:

你真的应该在 shouldAutorotateToInterfaceOrientation: - 方法中返回 YES,因为你支持所有四个方向。 好的,好的,谢谢!但是问题没有解决,没有任何改变! navigationControlles 仍然向上滚动 【参考方案1】:

我猜你在UITabBarController 中有一个UINavigationController

解决方案是覆盖导航堆栈中每个视图控制器的 shouldAutorotateToInterfaceOrientation: 方法(最后一个不是必需的)并返回 YES 以获得支持的方向

【讨论】:

以上是关于横向导航控制器,弹出向上滚动的主要内容,如果未能解决你的问题,请参考以下文章

iOS 11:带有不透明导航栏的导航控制器内带有滚动视图的弹出视图控制器在转换期间导致奇怪的内容动画

UITableView:向上滑动时收缩标签栏和导航栏

导航“后退”按钮暂停,以便在弹出之前做一个快速动画

在具有交互式过渡的导航控制器中推送视图控制器

导航控制器弹出动画时导航栏向上移动

横向模式下的 UINavigationController 后退按钮问题?