Le code suivant permet d'ajouter une bordure, un rayon de bordure et une ombre portée à l'image de l'utilisateur. v
, a UIView
:
// border radius
[v.layer setCornerRadius:30.0f];
// border
[v.layer setBorderColor:[UIColor lightGrayColor].CGColor];
[v.layer setBorderWidth:1.5f];
// drop shadow
[v.layer setShadowColor:[UIColor blackColor].CGColor];
[v.layer setShadowOpacity:0.8];
[v.layer setShadowRadius:3.0];
[v.layer setShadowOffset:CGSizeMake(2.0, 2.0)];
Vous pouvez ajuster les paramètres en fonction de vos besoins.
De plus, ajoutez le framework QuartzCore à votre projet et :
#import <QuartzCore/QuartzCore.h>
Voir mon autre réponse concernant masksToBounds
.
Note
Cela peut ne pas fonctionner dans tous les cas. Si vous constatez que cette méthode interfère avec d'autres opérations de dessin que vous effectuez, veuillez consulter la rubrique cette réponse .
1 votes
Puisque vous dites dans un commentaire ci-dessous que vous avez obtenu ce résultat en utilisant CoreGraphics, pourriez-vous partager la réponse avec la communauté afin d'aider les autres dans la même situation, comme ils ont essayé de vous aider ?
0 votes
Je suis désolé, c'était il y a longtemps, et je n'ai plus la source. Ce que j'ai fait, c'est surcharger -drawRect : et utiliser UIBezierPath pour dessiner un rectangle, et appliquer une ombre au calque derrière la vue... si je me souviens bien. :)
6 votes
La réponse acceptée ne fonctionne pas !
0 votes
Swift 3 & IBInspectable solution. ;) stackoverflow.com/a/43958505/3052059
1 votes
Duplicata possible de Donner des coins arrondis à UIView
2 votes
@Sachavijay Vous devriez vérifier les dates des deux posts avant de commenter.
0 votes
C'est une façon de le faire. stackoverflow.com/a/45570428/3532177
0 votes
Regarder stackoverflow.com/questions/1177775/