Я понял, как это сделать с помощью свойства compositingFilter.Я попробовал это, но имел это назад.Он должен использоваться на изображении, которое должно быть слоем поверх UIControls:
let image: UIImage = UIImage(named: "testBGGradient.png")!
let bgImage = UIImageView(image: image)
bgImage.frame = CGRect(x:0, y:topBarYPos + topBarHeight + topMargin, width:UIScreen.main.bounds.width, height:UIScreen.main.bounds.height)
guard let str = dbBlendStr else { return }
bgImage.layer.compositingFilter = "darkenBlendMode"
self.view.addSubview(bgImage)
Есть много compositingFilters.Используйте те, которые вы нашли здесь: https://developer.apple.com/library/archive/documentation/GraphicsImaging/Reference/CoreImageFilterReference/index.html#//apple_ref/doc/uid/TP30000136-SW71
Вы можете использовать имена фильтров, удаляя "CI" и начиная со строчных букв.Вот простой список на выбор:
добавление, композитинг
colorBlendMode
colorBurnBlendMode
colorDodgeBlendMode
darkenBlendMode
diffBlendM
divBlendMode
exclusionBlendMode
hardLightBlendMode
hueBlendMode
lightenBlendMode
linearBurnBlendMode
*1231*1033 *
luminosityBlendMode
MaximumCompositing
минимумCompositing
multiplyBlendMode
multiplyCompositing
overlayBlendMode