强制UIViewController处于横向模式iOS7

时间:2014-02-06 22:53:47

标签: objective-c xcode uiviewcontroller orientation

我已经实现了正确的功能,但它们没有被触发?我在StackOverFlow上尝试了几种解决方案,但它们都不起作用。我已经尝试将视图添加到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;
}

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:3)

对于导航控制器界面,框架不支持强制方向。请在此处查看我的回答:https://stackoverflow.com/a/15301322/341994

要获得解决方法(不太好),请在此处查看我的答案:https://stackoverflow.com/a/16379515/341994

但是,强制方向适用于呈现的视图控制器。