强制 UIViewController 处于横向模式 iOS7

Posted

技术标签:

【中文标题】强制 UIViewController 处于横向模式 iOS7【英文标题】:force UIViewController to be in Landscape mode iOS7 【发布时间】:2014-02-06 22:53:46 【问题描述】:

我已经实现了正确的功能,但它们没有被触发?我在 *** 上尝试了几种解决方案,但没有一个有效。我已经尝试将视图添加到 UINavigationController,也不起作用。

FakeIDDetailViewController.h:

@interface FakeIDDetailViewController : UIViewController
@end

FakeIDDetailViewController.m:

@interface FakeIDDetailViewController ()

-(BOOL)shouldAutorotate

    return NO;


- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

    return (UIInterfaceOrientationMaskLandscapeLeft);


-(NSUInteger)supportedInterfaceOrientations

    return UIInterfaceOrientationMaskLandscapeLeft;


- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation

    return UIInterfaceOrientationLandscapeLeft;


- (NSUInteger) application:(UIApplication *)application     supportedInterfaceOrientationsForWindow:(UIWindow *)window 
    return UIInterfaceOrientationLandscapeLeft;

【问题讨论】:

您尝试过哪些 SO 解决方案?正如你所说,有几个......我不想一一列举。 可能重复:***.com/questions/19095161/force-landscape-ios-7 In iOS6, trouble forcing ViewController to certain interfaceOrientation when pushed on stack的可能重复 试试这个:***.com/questions/22491786/… @Jim Clermonts 如果其中一个有帮助,您应该接受答案 【参考方案1】:

如果您将视图控制器推送到导航控制器中的其他视图控制器堆栈,则仅需要横向将无法正常工作。您应该以模态方式显示横向约束视图控制器。

在此处查看我的答案以获取示例项目: https://***.com/a/16022631/983912

【讨论】:

【参考方案2】:

对于导航控制器界面,框架不支持强制定向。在这里查看我的答案:https://***.com/a/15301322/341994

有关解决方法(不是很好),请在此处查看我的答案:https://***.com/a/16379515/341994

但是,对于呈现的视图控制器来说,强制方向可以正常工作。

【讨论】:

以上是关于强制 UIViewController 处于横向模式 iOS7的主要内容,如果未能解决你的问题,请参考以下文章

即使 iPad 处于纵向模式,如何强制 iPad 上的电视处于横向模式

iOS 7 使用 UINavigationController 在 UIViewController 上强制景观

如何强制对话框的横向模式?

如何强制旋转 UIViewController

在一个视图控制器中强制横向

Xcode 说 UIView 在纵向时处于横向模式