From ccba02234e00db984d75b35b95ff06273ba49f99 Mon Sep 17 00:00:00 2001 From: hukz37 <595632239@163.com> Date: Wed, 6 Dec 2023 00:01:30 +0800 Subject: [PATCH] =?UTF-8?q?fix(iOS):=E4=BF=AE=E5=A4=8DiOS13=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E4=BB=A5=E4=B8=8A=E4=BD=BF=E7=94=A8=E5=B8=83=E5=B1=80?= =?UTF-8?q?=E8=BE=B9=E6=A1=86=E5=8A=9F=E8=83=BDcrash=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Function/UIView+DoraemonViewMetrics.m | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/iOS/DoraemonKit/Src/Core/Plugin/UI/ViewMetrics/Function/UIView+DoraemonViewMetrics.m b/iOS/DoraemonKit/Src/Core/Plugin/UI/ViewMetrics/Function/UIView+DoraemonViewMetrics.m index 26f7c4aa0..2863277d2 100644 --- a/iOS/DoraemonKit/Src/Core/Plugin/UI/ViewMetrics/Function/UIView+DoraemonViewMetrics.m +++ b/iOS/DoraemonKit/Src/Core/Plugin/UI/ViewMetrics/Function/UIView+DoraemonViewMetrics.m @@ -39,9 +39,22 @@ - (void)doraemon_layoutSubviews - (void)doraemonMetricsRecursiveEnable:(BOOL)enable { // 状态栏不显示元素边框 - UIWindow *statusBarWindow = [[UIApplication sharedApplication] valueForKey:@"_statusBarWindow"]; - if (statusBarWindow && [self isDescendantOfView:statusBarWindow]) { - return; + if (@available(iOS 13.0, *)) { + UIStatusBarManager *statusBarManager = [UIApplication sharedApplication].windows.firstObject.windowScene.statusBarManager; + if([statusBarManager respondsToSelector:@selector(createLocalStatusBar)]) { + UIView *localStatusBar= [statusBarManager performSelector:@selector(createLocalStatusBar)]; + if ([localStatusBar respondsToSelector:@selector(statusBar)]) { + UIView *statusBarView = [localStatusBar performSelector:@selector(statusBar)]; + if (statusBarView && [self isDescendantOfView:statusBarView]) { + return; + } + } + } + } else { + UIWindow *statusBarWindow = [[UIApplication sharedApplication] valueForKey:@"_statusBarWindow"]; + if (statusBarWindow && [self isDescendantOfView:statusBarWindow]) { + return; + } } for (UIView *subView in self.subviews) {