iOS 特殊时间的黑白画面

产品让研究一下特殊时间的黑白画面的模式, 本以为会很复杂, 搜了一下, 找到一些很好的方案, 简单易懂易用。分享记录如下,感谢原文作者,原文链接如下:https://blog.csdn.net/IOSSHAN/article/details/123842441

创建一个uiview并实现方法

- (UIView*)hitTest:(CGPoint)pointwithEvent:(UIEvent*)event

{

    return nil;

}

公共方法,写在基类或者其他需要的地方

- (void)showGrayViewWithSuperView:(UIView *)superView

{

    //该方法是用来存储是否为黑白模式

    BOOLisOpenWhiteBlackModel = [[NSUserDefaultsstandardUserDefaults]boolForKey:@"kIsShowBlackWhiteModel"];

    if(isOpenWhiteBlackModel) {

        if(@available(iOS12.0, *)) {//只支持12及以上

            YXHBView*overlay = [[YXHBViewalloc]initWithFrame:superView.bounds];

            overlay.userInteractionEnabled=NO;

            overlay.translatesAutoresizingMaskIntoConstraints = false;

            overlay.backgroundColor= [UIColorgrayColor];

            overlay.layer.compositingFilter=@"saturationBlendMode";

            [superViewaddSubview:overlay];

            [superViewbringSubviewToFront:overlay];

        }

    }

}


调用:[self showGrayViewWithSuperView:self.view];

1.所有页面都需要  加在总的基类或者自定义的TabBarController中

2.部分页面需要, 那就 哪里需要加哪里

你可能感兴趣的:(iOS 特殊时间的黑白画面)