我有一个视频应用程序,但我希望它只保留在横向方向
在横向中它看起来像这样:
但当我转身时,它会选择纵向方向,看起来像这样:
它只会停留在横向方向,已经尝试并尝试了很多我见过的东西,没有任何工作,有人帮助我吗?
[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种方式做到这一点
2.)通过编程方式
-(BOOL)shouldAutorotate{
return YES;
}
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskLandscape;
}
您需要在NavigationController类中执行此操作,看起来您正在使用NavigationBar.
如果没有,那么在ViewController中使用它