结果:
弹出警告框的中间图像是我想要实现的结果。
当弹出一个警告框时,一切都变成了黑白。在设计中实现这一点的方法是在顶部添加一个图层,背景颜色为黑色,混合模式为色调。
因此,为了实现这一点,我尝试了以下方法。
我试图在顶部添加一个 View (透明背景)。在该 View 中,我绘制了一个具有混合模式色调的矩形。
override func draw(_ rect: CGRect) {
let context = UIGraphicsGetCurrentContext()
UIColor.black.setFill()
context?.setBlendMode(.hue)
let rect = rect
context?.addRect(rect)
context?.drawPath(using: .fillStroke)
}
UIView 具有设置为全屏的约束。然而,这只会产生一个黑色矩形。
关于如何实现这一目标的任何提示?
最佳答案
View 背后 没有混合模式这样的东西。混合模式是关于将绘制到这个上下文中。
要实现您所描述的内容,您必须拍摄当前 View Controller View 的快照并将其以黑白方式绘制到您的上下文中。
然而,通常的做法是设置 tintAdjustmentMode
.这就是真正的警报 View 所做的。
关于ios - 将所有内容更改为黑白(应用混合以查看背景颜色),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50723925/