我有一个以前在2014年设计的应用。现在,我必须使该应用设计与iPhone X兼容。
当我在iPhone X模拟器上运行该应用程序时,除选项卡栏外,其他所有功能均正常运行。在iPhone X模拟器中,标签栏的高度会增加。
我知道基本的安全区域指南,但是现在我不填写 顶部和底部的空白区域,我只是将标准标签栏显示为 它会显示在其他iPhone上。
标签栏是通过编程方式添加的,因此我尝试按以下方式更改其高度
tabBarController = [[UITabBarController alloc] initWithNibName:nil bundle:nil];
self.tabBarController.viewControllers = [[NSArray alloc] initWithObjects:trailsNavController,mapNavController, gpsNavController,infoNavController, signUpNavController, nil];
self.tabBarController.delegate = self;
self.tabBarController.tabBar.frame = CGRectMake(self.tabBarController.tabBar.frame.origin.x, self.tabBarController.tabBar.frame.origin.y, self.tabBarController.tabBar.frame.size.width, 40);
self.window.rootViewController = self.tabBarController;
当我添加启动画面时,应用程序设计会失真。
还有其他改变高度的方法吗?任何帮助将不胜感激。
答案 0 :(得分:1)
到目前为止,我所知道的唯一解决方案是引入自动布局。
答案 1 :(得分:0)
您应该使用成比例的高度。例如:
self.tabBarController.tabBar.frame = CGRectMake(self.tabBarController.tabBar.frame.origin.x, self.tabBarController.tabBar.frame.origin.y, self.tabBarController.tabBar.frame.size.width, self.view.frame.size.height/6);