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 }];