Измените все на черно-белое (применяя смешивание для просмотра цвета фона) - PullRequest
0 голосов
/ 06 июня 2018

Результат:

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 голосов
/ 06 июня 2018

Нет такого понятия, как режим наложения с тем, что стоит за видом.Режим смешивания - это прорисовка в этого контекста.

Чтобы добиться того, что вы описываете, вам нужно сделать снимок текущего вида контроллера представления и нарисовать его в черно-белом виде.белый в вашем контексте.

Обычная вещь, однако, это просто установить tintAdjustmentMode.Это то, что делает настоящий вид предупреждения.

...