// // UIImage+TUIPatch.m // Youth // // Created by mambaxie on 2022/1/2. // #import "UIImage+TUIPatch.h" #import #import #import @implementation UIImage (TUIPatch) + (void)load { NSError *error; [self jr_swizzleClassMethod:@selector(d_imageNamed:bundle:) withClassMethod:@selector(patch_d_imageNamed:bundle:) error:&error]; [self jr_swizzleClassMethod:@selector(d_imageWithImageLight:dark:) withClassMethod:@selector(patch_d_imageWithImageLight:dark:) error:&error]; [self jr_swizzleClassMethod:@selector(d_imagePath:) withClassMethod:@selector(patch_d_imagePath:) error:&error]; if (error) { NSLog(@"patch TUI error: %@", error); } } + (UIImage *)patch_d_imageWithImageLight:(NSString *)lightImagePath dark:(NSString *)darkImagePath { UIImage *image = [UIImage imageNamed:darkImagePath.lastPathComponent]; if (image) { return image; } return [self patch_d_imageWithImageLight:lightImagePath dark:darkImagePath]; } + (UIImage *)patch_d_imagePath:(NSString *)path { UIImage *image = ImageNamed(path.lastPathComponent); if (image) { return image; } return [self patch_d_imagePath:path]; } + (UIImage *)patch_d_imageNamed:(NSString *)imageName bundle:(NSString *)bundleName { UIImage *image = ImageNamed(imageName); if (image) { return image; } NSString *path = nil; if ([bundleName isEqualToString:TUIChatBundle]) { if (image) { path = imageName; } } if (path) { UIImage *image = [UIImage d_imageWithImageLight:path dark:[NSString stringWithFormat:@"%@_dark",path]]; if (image) { return image; } } // 兜底 原始实现 return [self patch_d_imageNamed:imageName bundle:bundleName]; } @end