Хотите, чтобы на UIVisualEffectView воздействовал контент выше и ниже него?

У меня есть UIVisualEffectView с эффектом UIBlurEffect в виде закрепленного UICollectionViewCell в UICollectionView.

Размытие маскируется значком, так что значок появляется с легким мерцанием, реагируя на то, что он нарисован поверх.

Эффект находится поверх фона коллекции. Поскольку он остается закрепленным, а меняющийся фон прокручивается под ним, он мягко меняется, отражая фон, и выглядит очень красиво.

Однако, за исключением прокручиваемого фона коллекций, большая часть содержимого отображается перед эффектом размытия. Это необходимо, потому что этот другой контент более важен и не должен быть затенен.

Несмотря на то, что он находится за более важным содержимым, я бы хотел, чтобы представление эффекта отражало содержимое, которое прокручивается перед ним. Любые предложения о том, как это можно заставить работать?

Идеи:

  • Могу ли я взять кусок из ранее нарисованного кадра и нарисовать его под видом эффекта? Как бы я это сделал?
  • Могу ли я визуализировать все представление коллекции, применить размытие, а затем во второй раз визуализировать все, что должно быть поверх размытия? Как я могу сделать это эффективным?!

Спасибо.


person Benjohn    schedule 16.10.2014    source источник
comment
Описанный вами эффект звучит очень интересно. Тем не менее, я не могу сделать это в своем уме. У вас есть демонстрационный GIF или видео? Очень хотелось бы увидеть это в действии :)   -  person CodingMeSwiftly    schedule 17.09.2015


Ответы (1)


Я пошел с немного усовершенствованной версией второго варианта.

Я добавил несколько повторяющихся ячеек в представление коллекции, которые отображаются за размытием, а затем и перед ним. Я сделал это только для одного из моих типов ячеек с большим количеством цвета. Это работает довольно хорошо.

Если у вас есть лучший подход, я с радостью дам вам правильный ответ.

person Benjohn    schedule 16.10.2014