在我的应用程序中,我使用导航控制器来管理视图。我的登录页面支持纵向和横向视图。当用户登录时,我的第二个视图是主页,它只支持横向模式。我想要做的是当用户使用纵向视图登录到主页时,即使设备处于纵向,主页也应该出现在横向视图中。
所以我所做的就是在主页的viewWillAppear
方法中将状态栏方向更改为横向,如下所示;
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[[UIApplication sharedApplication] setStatusBarOrientation:UIDeviceOrientationLandscapeRight animated:NO];
UIDeviceOrientation orien = [[UIDevice currentDevice] orientation];
}
我也覆盖了shouldAutorotateToInterfaceOrientation
如下
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
我的问题是即使状态栏更改为横向我的UIViewController
(家)仍然处于横向模式。当我调试时,我发现即使我将状态栏方向更改为横向,也会[[UIDevice currentDevice] orientation]
返回纵向。我整天都在上网。并实施许多其他人提供的解决方案,但我的一整天都浪费了。有人可以指导我解决这些问题。