// // TUITheme+TUIPatch.m // TreeHole // // Created by mambaxie on 2022/6/20. // #import "TUITheme+TUIPatch.h" #import @implementation TUITheme (TUIPatch) + (void)load { NSError *error; [self jr_swizzleClassMethod:@selector(dynamicImage:module:defaultImage:) withClassMethod:@selector(patch_dynamicImage:module:defaultImage:) error:&error]; if (error) { NSLog(@"patch TUI error: %@", error); } } // 获取动态图片 + (UIImage *__nullable)patch_dynamicImage:(NSString *)imageKey module:(TUIThemeModule)module defaultImage:(UIImage *)image { TUITheme *darkTheme = TUIDarkTheme(module); if (darkTheme) { UIImage *imageInAsset = nil; if ([darkTheme.manifest.allKeys containsObject:imageKey]) { NSString *imageName = [darkTheme.manifest objectForKey:imageKey]; if ([imageName isKindOfClass:NSString.class]) { imageInAsset = ImageNamed([imageName stringByDeletingPathExtension]); } } if (imageInAsset) { return imageInAsset; } } // 兜底 return [self patch_dynamicImage:imageKey module:module defaultImage:image]; } @end