2017-08-03 1 views
0

Guten Tag,hinzufügen drop blur shadow zum Kreis

Wie erreiche ich so etwas in swift 3?

circle with blurred drop shadow beneath

Das Zentrum des Schattens ist etwa 30px vom Boden des Kreises. Ich habe versucht, den Schatten-Trick zu verwenden, aber ich war nicht in der Lage, den Schatten zu zerquetschen. Ich habe auch versucht, ein Bild von Photoshop zu verwenden, aber die Unschärfe wird böse, wenn sie vergrößert wird.

+3

Mögliche Duplikat [Schlagschatten in ios] (https://stackoverflow.com/questions/40155443/drop-shadow-in-ios) –

+1

Ich würde vorschlagen (1. Feststellung) oder (2. Erstellen) ein Bild einer Ellipse mit einem Gaußschen Unschärfeeffekt, das darauf angewendet wird, und in ein UIImageView unterhalb des Kreises/was auch immer gesetzt wird. 1) Einfach Google Ellipse Gaussian Blur Png. 2) Verwenden Sie ein anderes Programm als Photoshop, um das Bild zu erstellen, z. B. Affinitätsdesigner/Gimp/Illustrator/Bündel anderer Programme. Passen Sie dann den Alpha-Wert nach Bedarf an. –

+0

@Tarvo Ihr Duplikat half, die Frage zu beantworten – user3483586

Antwort

0
let rect = CGRect(x: 0, y: midView.frame.minY, width: (midView.bounds.width), height: 20.0) 

let elipticalPath = UIBezierPath(ovalIn: rect).cgPath 
let maskLayer = CAGradientLayer() 
maskLayer.frame = midView.bounds 
maskLayer.shadowRadius = 15 

maskLayer.shadowPath = elipticalPath 
maskLayer.shadowOpacity = 0.7 
maskLayer.shadowOffset = CGSize.zero 
maskLayer.shadowColor = UIColor.gray.cgColor 
midView.layer.addSublayer(maskLayer)