我正在构建一个包含多个屏幕的视频应用程序,我希望所有这些屏幕只允许使用除之外的视频播放器屏幕,可以手动从纵向转换为横向。
现在我在视频播放器屏幕中有以下内容
#pragma mark - CHANGE ORIENTATION METHODS
- (void)changeOrientation {
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationLandscapeLeft];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
}
然后在列表屏幕中,我有以下内容尝试将方向修复为仅限肖像。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
现在,当我加载应用程序时,似乎将方向设置为纵向,问题出在视频播放器屏幕上,我有一个后退按钮。如果该屏幕处于横向模式,我点击
shouldAutorotateToInterfaceOrientation
没有被调用,而且它处于横向模式。
如何强制它调用上面的内容,还是有更好的方法来解决这个问题?感谢
答案 0 :(得分:0)
您可以尝试以编程方式强制更改方向:
-(void)viewWillAppear:(BOOL)animated {
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationLandscapeLeft];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
}
当然,您需要在项目目标中启用横向方向 - >部署信息 - >设备方向。我希望它有所帮助。