【发布时间】:2013-03-18 12:49:41
【问题描述】:
在我的应用程序中,我使用导航控制器来管理视图。我的登录页面支持纵向和横向视图。当用户登录时,我的第二个视图是主页,它只支持横向模式。我想要做的是当用户使用纵向视图登录到主页时,即使设备处于纵向,主页也应该出现在横向视图中。
所以我所做的就是在主页的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] 也会返回纵向。我整天都在上网。并实施许多其他人提供的解决方案,但我的一整天都浪费了。谁能指导我解决这些问题。
【问题讨论】:
-
您希望整个应用程序处于横向模式还是某些屏幕??
标签: iphone objective-c uinavigationcontroller device-orientation