> 技术文档 > iOS18.0 iPad适配问题-tabbar

iOS18.0 iPad适配问题-tabbar


问题

在这里插入图片描述
系统的tabbar样式变更造成底部自定义的tabbar无法正常显示

解决方案

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 180000 if (@available(iOS 18.0, *)) { if (UIDevice.currentDevice.userInterfaceIdiom == UIUserInterfaceIdiomPad) { self.mode = UITabBarControllerModeTabBar; self.traitOverrides.horizontalSizeClass = UIUserInterfaceSizeClassUnspecified; NSString *tabContainerClassName = [NSString stringWithFormat:@\"%@%@%@\", @\"_UITab\", @\"Container\", @\"View\"]; for (UIView *subview in self.view.subviews) {  if ([NSStringFromClass(subview.class) isEqualToString:tabContainerClassName]) { [subview setHidden:YES];  } } } } #endif

判定iPad及18.0以上系统,重新对UITabbarController的子类进行模式重置和底部方向设定,去除二级controller存在_uitab等子类.