iOSプロジェクトにドロップシャドウを持つカスタムUIViewを作成しました。 私の目的は、ビューの背景と同じ勾配を影に適用することです。UIViewシャドーグラデーション
以下は、現在の単色の影がどのように見えるかの例です。
これは、以下のコードでのUIViewのサブクラスを介して行われます:私は2番目の勾配層を作成し、影にそれをマスキングで遊んでてきたが、運がなかったしている
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
}
。正しい方向に私を指差してください!