J'apprécierais vraiment, si quelqu'un pourrait me dire pourquoi le code ci-dessous ne me donne pas l'ombre intérieure, ou me donner une solution qui donnera une ombre intérieure.Swift Créer une ombre intérieure sur un UIView rond
J'ai besoin de créer une ombre intérieure sur un UIView arrondi. J'ai été à travers de nombreuses réponses et j'ai trouvé des façons d'obtenir ceci sur un UIViews carré normal, mais j'ai trouvé aucune solution qui fonctionne sur une vue arrondie. Au lieu de cela, je trouve des solutions comme celle ci-dessous qui me semblent correctes, mais qui ne créent pas l'ombre interne requise lorsque je les implémente. Voici mon écran, il est le point de vue blanc entre les vues jaune bleu et intérieure extérieure que je veux ajouter l'ombre à:
Je sous-classé la vue, voici mon code tirage rect:
let innerShadow = CALayer()
// Shadow path (1pt ring around bounds)
let path = UIBezierPath(rect: innerShadow.bounds.insetBy(dx: -1, dy: -1))
let cutout = UIBezierPath(rect: innerShadow.bounds).reversing()
path.append(cutout)
innerShadow.shadowPath = path.cgPath
innerShadow.masksToBounds = true
// Shadow properties
innerShadow.shadowColor = UIColor.darkGray.cgColor
innerShadow.shadowOffset = CGSize(width: 0.0, height: 7.0)
innerShadow.shadowOpacity = 1
innerShadow.shadowRadius = 5
// Add
self.layer.addSublayer(innerShadow)
// Make view round
self.layer.cornerRadius = self.frame.size.width/2
self.layer.masksToBounds = true
Un grand merci pour toute aide à ce sujet. S'il vous plaît faites le moi savoir si vous avez des questions.