UIImageView+CNGrayImage.m
989 Bytes
//
// UIImageView+CNGrayImage.m
// CNLiveScioLive
//
// Created by CNLive on 2021/4/27.
// Copyright © 2021 CNLive. All rights reserved.
//
#import "UIImageView+CNGrayImage.h"
#import <objc/runtime.h>
#import "UIImage+CNGray.m"
@implementation UIImageView (CNGrayImage)
+(void)load
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
Method setImage = class_getInstanceMethod(self,@selector(setImage:));
Method xmtSwizzledSetImage = class_getInstanceMethod(self,@selector(xmtSwizzledSetImage:));
///交换IMP
method_exchangeImplementations(setImage, xmtSwizzledSetImage);
});
}
- (void)xmtSwizzledSetImage:(UIImage *)image {
/// 图片使用灰白处理
BOOL gray = [[NSUserDefaults standardUserDefaults] boolForKey:ISGRAYMODE];
if (gray&&[self isMemberOfClass:[UIImageView class]]) {
image = [UIImage grayImage:image];
}
[self xmtSwizzledSetImage:image];
}
@end