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

相关推荐
白玉cfc7 小时前
【iOS】weak底层原理
macos·ios·cocoa
Lvan的前端笔记9 小时前
开通IOS开发账号
ios
2501_9160088919 小时前
iOS应用开发工具全面解析:如何选择与优化开发效率
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
a44931536219 小时前
iPhone Face ID 故障的分层诊断——原深感系统与主板加密配对机制
macos·ios·电脑·cocoa·iphone
白玉cfc20 小时前
【iOS】内存五大分区
macos·ios·cocoa
二流小码农1 天前
鸿蒙开发:以登录案例了解代码架构MVVM
android·ios·harmonyos
GitLqr1 天前
别在 Flutter 的 main() 里乱锁屏幕方向,小心 iPad 分屏功能被你搞没了
android·flutter·ios
a4493153621 天前
iPhone 基带故障诊断——无服务/搜索不到网络的芯片级维修实录
网络·macos·ios·电脑·iphone
Summer-Bright1 天前
消费者 AI 变现竞争:从“一家独大“到“iOS vs Android“,谁在为 AI 买单?
android·人工智能·ios·ai·自然语言处理·agi