如何在iPhone X中更改标签栏的高度

时间:2018-08-07 07:52:30

标签: ios objective-c iphone uitabbarcontroller

我有一个以前在2014年设计的应用。现在,我必须使该应用设计与iPhone X兼容。

当我在iPhone X模拟器上运行该应用程序时,除选项卡栏外,其他所有功能均正常运行。在iPhone X模拟器中,标签栏的高度会增加。

  

我知道基本的安全区域指南,但是现在我不填写   顶部和底部的空白区域,我只是将标准标签栏显示为   它会显示在其他iPhone上。

enter image description here

标签栏是通过编程方式添加的,因此我尝试按以下方式更改其高度

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;

当我添加启动画面时,应用程序设计会失真。

enter image description here

还有其他改变高度的方法吗?任何帮助将不胜感激。

2 个答案:

答案 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);