我正在使用UITabBarViewController创建iPad Universal应用程序。当我的登录屏幕处于纵向模式时,从登录视图导航到第一个选项卡屏幕。 FirstView控制器正确加载,旋转效果很好。
但是,如果我在横向模式下旋转设备,那么doLogin我导航到第一个选项卡视图,然后用户视图中的UI混乱,仍然采用纵向框架。
然而,这在iOS 8上运行良好。 这就是UI在iOS 8(正确的用户界面)上的外观
这是UI在iOS7上的外观(不正确的用户界面)
这是我的代码:
tabBarController = [[UITabBarController alloc]init];
FirstViewController *vc = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
NSArray *viewControllersArray = [[NSArray alloc] initWithObjects:vc, nil];
[tabBarController setViewControllers:viewControllersArray animated:YES];
[self addChildViewController:tabBarController];
[self.view addSubview:tabBarController.view];
我在LoginViewController上使用此代码。 LoginViewController是我的RootViewController 在didFinishLaunchWithOption中,我使用下面的方法将LoginController设置为rootViewcontroller 码: [self.window setRootViewController:self.loginviewController];
答案 0 :(得分:0)
我也有类似的问题,我将我的视图添加到横向导航控制器,但视图框架大小是纵向。我不知道是否有更好的办法比我最终做的更好,但这是我的解决方案。
我将以下内容放在要添加的视图控制器的viewDidLoad中。
// Hack because iOS 7 was loading in portrait instead of landscape
if ([[[UIDevice currentDevice] systemVersion] floatValue] < 8)
self.view.frame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, self.view.frame.size.height, self.view.frame.size.width);