在UIImageView周围设置边框

Gir*_*ish 17 iphone xcode objective-c ios

我想在a上应用两种类型的边框UIImageView:

  1. 其一是对边界layerUIImageView.
  2. 二是围绕边界layerUIImageView.

我怎样才能做到这一点?

Jon*_*ing 32

尝试

#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];
Run Code Online (Sandbox Code Playgroud)

并且不要忘记导入QuartzCore/QuartzCore.h

此示例将在图层上绘制一个边框,但稍微更改它的框架以在图层周围创建边框.

  • 只需将框架更改为您喜欢的"外部"数量:CGRect borderFrame = CGRectMake(-1.0,-1.0,imageView.frame.size.width + 2.0,imageView.frame.size.height + 2.0); (5认同)

Sal*_*lim 8

其他方式

你必须导入

#import <QuartzCore/QuartzCore.h>
Run Code Online (Sandbox Code Playgroud)

然后为您的UIImageView添加代码

imgView.clipsToBounds = YES;
imgView.layer.cornerRadius = 8.0;
imgView.layer.borderWidth = 2.0;
imgView.layer.borderColor = [UIColor greenColor].CGColor;
Run Code Online (Sandbox Code Playgroud)