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

相关推荐
锐意无限5 小时前
Swift 扩展归纳--- UIView
开发语言·ios·swift
符哥20086 小时前
用Apollo + RxSwift + RxCocoa搭建一套网络请求框架
网络·ios·rxswift
文件夹__iOS10 小时前
AsyncStream 进阶实战:SwiftUI 全局消息流极简实现
ios·swiftui·swift
2501_9160088912 小时前
深入解析iOS机审4.3原理与混淆实战方法
android·java·开发语言·ios·小程序·uni-app·iphone
忆江南12 小时前
Flutter深度全解析
ios
山水域12 小时前
Swift 6 严格并发检查:@Sendable 与 Actor 隔离的深度解析
ios
楚轩努力变强13 小时前
iOS 自动化环境配置指南 (Appium + WebDriverAgent)
javascript·学习·macos·ios·appium·自动化
游戏开发爱好者81 天前
日常开发与测试的 App 测试方法、查看设备状态、实时日志、应用数据
android·ios·小程序·https·uni-app·iphone·webview
黑码哥1 天前
ViewHolder设计模式深度剖析:iOS开发者掌握Android列表性能优化的实战指南
android·ios·性能优化·跨平台开发·viewholder
2501_915106322 天前
app 上架过程,安装包准备、证书与描述文件管理、安装测试、上传
android·ios·小程序·https·uni-app·iphone·webview