web-dev-qa-db-fra.com

Comment appliquer la vue de carte cornerRadius & shadow comme l'appstore iOS dans Swift 4

Je souhaite appliquer "cornerRadius" et la vue de carte "shadow" dans la cellule de ma collection, comme dans l'appstore iOS actuel.

 CardView shadow example 1

 iOS appstore today view

2
Rahul Singha Roy

Ajoutez simplement une sous-vue à la cellule et manipulez sa propriété de couche. Ajustez les valeurs à votre convenance. Le code suivant devrait donner un résultat similaire à son apparence dans l'App Store:

    // The subview inside the collection view cell
    myView.layer.cornerRadius = 20.0
    myView.layer.shadowColor = UIColor.gray.cgColor
    myView.layer.shadowOffset = CGSize(width: 0.0, height: 0.0)
    myView.layer.shadowRadius = 12.0
    myView.layer.shadowOpacity = 0.7

 enter image description here

16
oyvindhauge

Pour ajouter à l'excellente réponse de @oyvindhauge, assurez-vous qu'aucune des sous-vues contenues dans myView ne s'étend jusqu'aux bords. Par exemple, ma vue de carte contenait une vue de tableau qui remplit la carte - il est donc nécessaire de définir le tableView.layer.cornerRadius = 20.0 également. Ceci s'applique à toute sous-vue qui remplit la carte.

0
Dominic Holmes