iPhone X UITabBarButton错位

时间:2018-01-19 03:36:38

标签: ios11 uitabbar uitabbaritem iphone-x xcode9.2

我在使用XCode9.2的iPhoneX上遇到问题,但使用XCode8运行应用程序时没有问题。

根据我的发现,UITabBar的高度设定为49。

iPhoneX的UITabBarButton高度为14,而iPhone 6的UITabBarButton为49

如何在XCode9中解决此问题?

以下是它在iPhone X上的显示方式:

iPhone X iOS 11.2

以及它在iPhone 6上的显示方式:

iPhone 6 iOS 11.2

1 个答案:

答案 0 :(得分:0)

viewController.hidesBottomBarWhenPushed = YES;

我猜你用过它。

因此出现了这个问题。

您需要的

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated

添加此代码:

if (@available(iOS 11.0, *)){

    CGFloat height = [UIApplication sharedApplication].statusBarFrame.size.height > 20.0f ? 83.0f : 49.0f;

    CGRect frame = CGRectMake(0.0f, [UIScreen mainScreen].applicationFrame.size.height - height, [UIScreen mainScreen].applicationFrame.size.width, height);

    self.tabBarController.tabBar.frame = frame;
}