在UIImageView周围设置边框
我想在UIImageView
上应用两种types的边框:
- 一个是
UIImageView
layer
的边框。 - 其次是
UIImageView
layer
的边框。
我怎样才能做到这一点?
尝试
#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
这个例子将在图层上绘制一个边框,但是稍微改变它的边框以在图层周围创build边框。
其他方式
你必须导入
#import <QuartzCore/QuartzCore.h>
然后为您的UIImageView添加代码
imgView.clipsToBounds = YES; imgView.layer.cornerRadius = 8.0; imgView.layer.borderWidth = 2.0; imgView.layer.borderColor = [UIColor greenColor].CGColor;
另一种方法是添加另一个图层,使其位于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;