Je veux appliquer deux types de frontières sur un UIImageView
:Set bordure autour UIImageView
- L'une est la frontière sur la
layer
duUIImageView
. - La deuxième est la bordure autour du
layer
duUIImageView
.
Comment est-ce que je peux faire ceci?
Je veux appliquer deux types de frontières sur un UIImageView
:Set bordure autour UIImageView
layer
du UIImageView
.layer
du UIImageView
.Comment est-ce que je peux faire ceci?
Essayez
#define kBorderWidth 3.0
#define kCornerRadius 8.0
CALayer *borderLayer = [CALayer layer];
CGRect borderFrame = CGRectMake(0, 0, (imageView.frame.size.width), (imageView.frame.size.height));
[borderLayer setBackgroundColor:[[UIColor clearColor] CGColor]];
[borderLayer setFrame:borderFrame];
[borderLayer setCornerRadius:kCornerRadius];
[borderLayer setBorderWidth:kBorderWidth];
[borderLayer setBorderColor:[[UIColor redColor] CGColor]];
[imageView.layer addSublayer:borderLayer];
Et ne pas oublier d'importer QuartzCore/QuartzCore.h
Cet exemple dessine une frontière sur la couche, mais changer sa structure légèrement pour rendre la frontière autour de la couche .
Une autre façon
Vous devez importer
#import <QuartzCore/QuartzCore.h>
Ensuite, ajoutez le code pour votre UIImageView
imgView.clipsToBounds = YES;
imgView.layer.cornerRadius = 8.0;
imgView.layer.borderWidth = 2.0;
imgView.layer.borderColor = [UIColor greenColor].CGColor;
Une autre façon est d'ajouter une autre couche qui va un peu en dehors de la couche du UIImageView comme suit:
CALayer * externalBorder = [CALayer layer];
externalBorder.frame = CGRectMake(-1, -1, myView.frame.size.width+2, myView.frame.size.height+2);
externalBorder.borderColor = [UIColor blackColor].CGColor;
externalBorder.borderWidth = 1.0;
[myView.layer addSublayer:externalBorder];
myView.layer.masksToBounds = NO;
Merci pour votre réponse.J'ai essayé ce code mais il crée la frontière à l'intérieur de l'UIImageView mais je veux définir la frontière de l'extérieur de UIImageView. – Girish
il suffit de changer le cadre de quelque montant que 'en dehors' vous aimez: CGRect borderFrame = CGRectMake (-1,0, -1,0 , imageView.frame.size.width + 2.0, imageView.frame.size.height + 2.0) ; –
Assurez-vous de définir des clipsToBounds sur false, si vous essayez de placer la bordure en dehors de l'image. – scott