iOS - App一键全局变灰

3,411 阅读1分钟

简介

马上到哀悼日了,部分App需要 全局变灰 或者 部分页面变灰 等灰色模式/灰色皮肤,这边提供了一个简便的方案。

性能和适用性都完胜 hook UIImage、UIColor、WKWebView 的方案。

原理也很简单,基于CALayer的渲染叠加,把灰色背景的 CALayer 放到最顶层。

PS:只有 iOS13 以后才有效

源码: github.com/li6185377/I…

用法

pod 'IMYAppGrayStyle'

// 开启全局变灰
[IMYAppGrayStyle open];

// 关闭全局变灰
[IMYAppGrayStyle close];


// 目标view 覆盖灰色模式
[IMYAppGrayStyle addToView:targetView];

// 目标view 移除灰色模式
[IMYAppGrayStyle removeFromView:targetView];

demo.gif