voglio applicare due tipi di frontiera su un UIImageView
:Set bordo intorno UIImageView
- Uno è il confine sul
layer
delUIImageView
. - Il secondo è il bordo intorno allo
layer
delloUIImageView
.
Come posso fare questo?
voglio applicare due tipi di frontiera su un UIImageView
:Set bordo intorno UIImageView
layer
del UIImageView
.layer
dello UIImageView
.Come posso fare questo?
Prova
#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];
E non dimenticate di importare QuartzCore/QuartzCore.h
Questo esempio tracciare un confine sul livello, ma cambiare è cornice un po 'per fare il bordo attorno allo strato .
Un altro modo
È necessario importare
#import <QuartzCore/QuartzCore.h>
Poi aggiungere il codice per il vostro UIImageView
imgView.clipsToBounds = YES;
imgView.layer.cornerRadius = 8.0;
imgView.layer.borderWidth = 2.0;
imgView.layer.borderColor = [UIColor greenColor].CGColor;
Un altro modo è quello di aggiungere un altro strato che va un po 'al di fuori dello strato del UIImageView così:
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;
Grazie per la tua risposta. Ho provato questo codice, ma crea il bordo all'interno di UIImageView ma voglio impostare il bordo dall'esterno di UIImageView. – Girish
Basta cambiare il telaio per qualsiasi importo 'fuori' che ti piace: CGRect borderFrame = CGRectMake (-1,0, -1,0 , imageView.frame.size.width + 2.0, imageView.frame.size.height + 2.0) ; –
Assicurati di impostare ClipToBounds su false, se stai provando a mettere il bordo all'esterno dell'immagine imageView – scott