From eddaa6edd88386f13191f06bbfac4f47c6724286 Mon Sep 17 00:00:00 2001 From: "joe.chen" Date: Wed, 9 Aug 2023 22:03:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3iOS17=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E4=B8=BB=E9=A2=98=E5=90=8E=E5=9B=BE=E7=89=87=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QMUIKit/QMUIComponents/QMUITheme/UIView+QMUITheme.m | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/QMUIKit/QMUIComponents/QMUITheme/UIView+QMUITheme.m b/QMUIKit/QMUIComponents/QMUITheme/UIView+QMUITheme.m index 32f91c15..46168765 100644 --- a/QMUIKit/QMUIComponents/QMUITheme/UIView+QMUITheme.m +++ b/QMUIKit/QMUIComponents/QMUITheme/UIView+QMUITheme.m @@ -140,7 +140,17 @@ - (void)qmui_themeDidChangeByManager:(QMUIThemeManager *)manager identifier:(__k BOOL isValidatedEffect = [value isKindOfClass:QMUIThemeVisualEffect.class] && (!manager || [((QMUIThemeVisualEffect *)value).managerName isEqual:manager.name]); BOOL isOtherObject = ![value isKindOfClass:UIColor.class] && ![value isKindOfClass:UIImage.class] && ![value isKindOfClass:UIVisualEffect.class];// 支持所有非 color、image、effect 的其他对象,例如 NSAttributedString if (isOtherObject || isValidatedColor || isValidatedImage || isValidatedEffect) { - [self performSelector:setter withObject:value]; + if (@available(iOS 17.0, *)) { + if ([self isKindOfClass:[UIImageView class]] && [setterString isEqualToString:@"setImage:"]) { + UIImageView *imageView = (UIImageView *)self; + imageView.image = nil; + imageView.image = value; + } else { + [self performSelector:setter withObject:value]; + } + } else { + [self performSelector:setter withObject:value]; + } } EndIgnorePerformSelectorLeaksWarning }];