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等子类.

相关推荐
andyweike11 小时前
Swift
开发语言·ios·swift
茶底世界之下11 小时前
白杯偏蓝,色温调到哪里该停?Awaking 两版正式导出
ios
2501_9159214315 小时前
KXBuild CI 实操,Windows/Linux 服务器接入 Jenkins 打包 iOS IPA
服务器·windows·vscode·ios·ci/cd·个人开发·敏捷流程
狗凯之家源码网15 小时前
iOS C2 V2 与 Python FastAPI 全链路远控系统深度评测
python·ios·fastapi
看浪的路人15 小时前
第6讲:Streaming 优化——告别“转圈圈“的用户体验
ios·iphone·xcode
传奇开心果编程1 天前
【Flutter踩坑排雷】第7课:巨型 build 函数坑|全部 UI 写在同一个 build,维护难、隐性异常
android·flutter·ios·移动开发·跨平台·dart·声明式ui
瓦瓦gogo1 天前
第一次了解 iOS 开发:从 Swift、SwiftUI 到公共组件
ios·swiftui·swift
Liben1 天前
Weex开发踩坑记录
android·前端·ios
season_zhu2 天前
Skills For Real Engineers 系列之三:需求聊清楚了,怎么一步步走主流程,做到交付?
ios·ai编程
茶底世界之下2 天前
窗边花瓶太暗?用 Awaking 看提亮室内的代价
ios