Quiero aplicar dos tipos de frontera en un UIImageView
:frontera ubicado alrededor de UIImageView
- Una de ellas es la frontera en el
layer
delUIImageView
. - El segundo es el borde alrededor del
layer
delUIImageView
.
¿Cómo puedo hacer esto?
Quiero aplicar dos tipos de frontera en un UIImageView
:frontera ubicado alrededor de UIImageView
layer
del UIImageView
.layer
del UIImageView
.¿Cómo puedo hacer esto?
Trate
#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];
Y no se olvide de importar QuartzCore/QuartzCore.h
En este ejemplo se dibujará un huésped en la capa, pero cambiar su marco ligeramente para hacer que el borde alrededor de la capa .
Otra forma
Debe importar
#import <QuartzCore/QuartzCore.h>
A continuación, agregue código para su UIImageView
imgView.clipsToBounds = YES;
imgView.layer.cornerRadius = 8.0;
imgView.layer.borderWidth = 2.0;
imgView.layer.borderColor = [UIColor greenColor].CGColor;
Otra forma es añadir otra capa que va un poco fuera de la capa de la UIImageView como ese:
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;
Gracias por su respuesta. Intenté este código pero creo un borde dentro de UIImageView pero quiero establecer el borde desde fuera de UIImageView. – Girish
Sólo cambia el marco para cualquier cantidad 'fuera' te gusta: CGRect borderFrame = CGRectMake (-1.0, -1.0 , imageView.frame.size.width + 2.0, imageView.frame.size.height + 2.0) ; –
Asegúrese de establecer clipsToBounds en falso, si está tratando de poner el borde fuera de imageView – scott