Я создал пользовательский UIView в моем проекте iOS, у которого есть тень. Моя цель - применить тот же градиент к тени, что и на фоне представления.
Ниже приведен пример того, как выглядят мои текущие сплошные цветовые тени.
Это делается через подкласс UIView с приведенным ниже кодом:
override func layoutSubviews() {
let gradientLayer = layer as! CAGradientLayer
gradientLayer.colors = [topColor.cgColor, bottomColor.cgColor]
gradientLayer.startPoint = CGPoint(x: startPointX, y: startPointY)
gradientLayer.endPoint = CGPoint(x: endPointX, y: endPointY)
layer.cornerRadius = cornerRadius
layer.shadowColor = shadowColor.cgColor
layer.shadowOffset = CGSize(width: shadowX, height: shadowY)
layer.shadowRadius = shadowBlur
layer.shadowOpacity = 1
let inset: CGFloat = bounds.width * 0.05
layer.shadowPath = UIBezierPath(roundedRect: bounds.insetBy(dx: inset, dy: 0.0), cornerRadius: cornerRadius).cgPath
}
Я играю вокруг, создавая второй слой градиента и маскируя его в тень, но не повезло. Пожалуйста, укажите мне в правильном направлении!