UINavigationController 方向
Posted
技术标签:
【中文标题】UINavigationController 方向【英文标题】:UINavigationController Orientation 【发布时间】:2013-01-28 10:59:09 【问题描述】:我有 UINavigationController 和几个视图控制器。 这是他们的名单: 主 -> 专辑 -> 图片
现在在第一个和第二个(主要和专辑)中,我希望 UINavigationController 不会旋转(仅纵向),而在第三个(图像)中,它可以旋转。
我已经为 UINavigationController 创建了类别:
-(BOOL)shouldAutorotate
if ([self.topViewController isKindOfClass:[MWPhotoBrowser class]])
return YES;
return NO;
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
if ([self.topViewController isKindOfClass:[MWPhotoBrowser class]])
return YES;
return NO;
- (NSUInteger)supportedInterfaceOrientations
return UIInterfaceOrientationMaskAll;
现在我的问题是,当我推动图像视图控制器并旋转设备(视图控制器旋转)并按回此处(专辑)时,视图控制器旋转到并且无法旋转回纵向。
顺便说一句:我注意到它只发生在装有 ios 6 和 iPhone 5 的设备上
【问题讨论】:
看看我的这个答案会对你有所帮助:***.com/questions/14547134/… 【参考方案1】:您是否尝试过包含以下方法但为您的视图控制器返回正确的值?
- (NSUInteger)supportedInterfaceOrientations
return UIInterfaceOrientationMaskPortraitUpsideDown;
【讨论】:
以上是关于UINavigationController 方向的主要内容,如果未能解决你的问题,请参考以下文章
从 UINavigationController 弹出视图会改变设备方向
UINavigationController 上的 UIPageViewController 在更改方向后不会重新布局其子视图控制器
如何使用 UINavigationController (Swift 2.0 iOS 9) 强制设置横向方向
对于UINavigationController和UIViewController,在swift 4中禁用屏幕方向