ios – 仅使用目标C中的横向?

我有一个视频应用程序,但我希望它只保留在横向方向

在横向中它看起来像这样:

《ios – 仅使用目标C中的横向?》

但当我转身时,它会选择纵向方向,看起来像这样:

《ios – 仅使用目标C中的横向?》

它只会停留在横向方向,已经尝试并尝试了很多我见过的东西,没有任何工作,有人帮助我吗?

[UPDATE]

只需要一个不使用方向PORTRAIT的视图,有人已经有过这个问题吗?

有没有人有任何其他想法?什么都没有

[更新] – > 30/09/2015

我的解决方案

在AppDelegate.m我用这个:

-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
    if(self.restrictRotation == YES)
        return UIInterfaceOrientationMaskLandscape;
    else
        return UIInterfaceOrientationMaskAll;
}

AppDelegate.h:

@property () BOOL restrictRotation;

在哪里我想只留下风景我用它(videoViewController.m):

在viewDidLoad中

[self restrictRotation:YES];

        NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationLandscapeRight];
        [[UIDevice currentDevice] setValue:value forKey:@"orientation"];

并添加方法:

-(void) restrictRotation:(BOOL) restriction
{
    AppDelegate* appDelegate = (AppDelegate*)[UIApplication sharedApplication].delegate;
    appDelegate.restrictRotation = restriction;
}

记得videoViewController.h中的#import“AppDelegate.h”

并且您不想要的视图在横向添加中被锁定:

在viewDidLoad中:

[self restrictRotation:YES];

和方法:

-(void) restrictRotation:(BOOL) restriction
    {
        AppDelegate* appDelegate = (AppDelegate*)[UIApplication sharedApplication].delegate;
        appDelegate.restrictRotation = restriction;
    }

问题解决了! thx all

最佳答案 你可以用2种方式做到这一点

1.)《ios – 仅使用目标C中的横向?》

2.)通过编程方式

-(BOOL)shouldAutorotate{
return YES;

}
-(NSUInteger)supportedInterfaceOrientations{
        return UIInterfaceOrientationMaskLandscape;
}

您需要在NavigationController类中执行此操作,看起来您正在使用NavigationBar.

如果没有,那么在ViewController中使用它

点赞