Вы можете использовать градиентное решение, которое вы тоже связали. Все, что вам нужно сделать, это добавить больше градиентных остановок, чтобы в середине градиента был белый / прозрачный участок. Поиграйте с чем-то вроде этого
gradient.colors = [
UIColor.orange.cgColor,
UIColor.orange.cgColor,
UIColor.clear.cgColor,
UIColor.clear.cgColor,
UIColor.green.cgColor,
UIColor.green.cgColor,
]
gradient.locations = [0, 0.4, 0.4, 0.6, 0.6, 1.0]