将所有内容更改为黑白(应用混合以查看背景颜色)

时间:2018-06-06 15:15:53

标签: ios swift core-graphics

结果:

enter image description here

弹出警告框的中间图像是我想要实现的结果。

弹出警告框时,所有内容都会变为黑白。在设计中实现这一目标的方法是在顶部添加一层背景颜色为黑色和混合模式色调。

因此,为了实现这一点,这就是我尝试过的。

我尝试在顶部添加视图(透明背景)。在该视图中,我绘制了一个混合模式色调的矩形。

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 有约束设置为全屏。然而,这只会产生黑色矩形。

有关如何实现这一目标的任何提示?

1 个答案:

答案 0 :(得分:1)

视图中背后的没有混合模式。混合模式是将绘制到此上下文中。

要实现您所描述的内容,您必须拍摄当前视图控制器视图的快照,并将其以黑白方式绘制到您的上下文中。

然而,通常的情况是设置tintAdjustmentMode。这就是真正的警报视图。