Установить границу вокруг UIImageView Я хочу применить два типа границы на UIImageView: Один является границей layer UIImageView. Во-вторых, это граница вокруг layer UIImageView. Как я могу это сделать? Ответ 1 Попробуйте #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]; И не забудьте импортировать QuartzCore/QuartzCore.h В этом примере будет рисовать рамку на слое, но слегка измените ее, чтобы сделать границу вокруг слоя. Ответ 2 Другой способ Вы должны импортировать #import <QuartzCore/QuartzCore.h> Затем добавьте код для вашего UIImageView imgView.clipsToBounds = YES; imgView.layer.cornerRadius = 8.0; imgView.layer.borderWidth = 2.0; imgView.layer.borderColor = [UIColor greenColor].CGColor; Ответ 3 Другой способ - добавить еще один слой, который немного выходит за пределы слоя UIImageView: 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;
Ответ 1 Попробуйте #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]; И не забудьте импортировать QuartzCore/QuartzCore.h В этом примере будет рисовать рамку на слое, но слегка измените ее, чтобы сделать границу вокруг слоя.
Ответ 2 Другой способ Вы должны импортировать #import <QuartzCore/QuartzCore.h> Затем добавьте код для вашего UIImageView imgView.clipsToBounds = YES; imgView.layer.cornerRadius = 8.0; imgView.layer.borderWidth = 2.0; imgView.layer.borderColor = [UIColor greenColor].CGColor;
Ответ 3 Другой способ - добавить еще один слой, который немного выходит за пределы слоя UIImageView: 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;