APP开启黑白灰模式
推荐做法:
仅适用于iOS12以上版本
1.创建一个继承UIView的view,然后关闭该View的点击事件
#import "AuLandlordHPGrayView.h"
@implementation AuLandlordHPGrayView
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
return nil;
}
@end
2.在需要设置黑白模式的地方调用次方法:
- (void)showGrayViewWithSuperView:(UIView *)superView
{
//该方法是用来存储是否为黑白模式
BOOL isOpenWhiteBlackModel = [[NSUserDefaults standardUserDefaults] boolForKey:@"kIsShowBlackWhiteModel"];
if (isOpenWhiteBlackModel) {
if (@available(iOS 12.0, *)) {//只支持12及以上
AuLandlordHPGrayView *overlay = [[AuLandlordHPGrayView alloc] initWithFrame:superView.bounds];
overlay.userInteractionEnabled = NO;
overlay.translatesAutoresizingMaskIntoConstraints = false;
overlay.backgroundColor = [UIColor grayColor];
overlay.layer.compositingFilter = @"saturationBlendMode";
[superView addSubview:overlay];
[superView bringSubviewToFront:overlay];
}
}
}
OK,以上就是黑白模式的开启,非常简单