iOS18.0 iPad适配问题-tabbar

问题

系统的tabbar样式变更造成底部自定义的tabbar无法正常显示

解决方案

typescript 复制代码
#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等子类.

相关推荐
键盘敲没电2 小时前
【iOS】多线程基础
学习·macos·ios·objective-c·cocoa
zqmattack4 小时前
Nginx 的配置文件
ios
李新_16 小时前
我们使用了哪些Flutter 三方库(二)
android·flutter·ios
Jouzzy16 小时前
【iOS安全】使用LLDB调试iOS App | LLDB基本架构 | LLDB安装和配置
安全·ios·架构
二流小码农17 小时前
鸿蒙开发:hvigorw,编译构建,实现命令打包
android·ios·harmonyos
我的蒲公英20 小时前
2025年了,别再用微信群发APK了:内测分发的正确打开方式
android·安全·ios
hbysjw21 小时前
ios tableview吸顶
ios·objective-c
二流小码农2 天前
鸿蒙开发:hvigorw,一个你不得不去了解的神器
android·ios·harmonyos
吴Wu涛涛涛涛涛Tao2 天前
老项目登录模块的 Combine + MVVM响应式改造实践
ios
一丝晨光2 天前
Windows搭建Swift语言编译环境?如何构建ObjC语言编译环境?Swift如何引入ObjC框架?Interface Builder的历史?
linux·windows·macos·ios·objective-c·xcode·swift