IOS 提供一个便利的方法呈现圆角的效果,代码量非常少,只要设置layer的cornerRadius 属性 即可。
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor grayColor];
UIImageView *imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"head.jpg"]];
imageView.center = self.view.center;
imageView.clipsToBounds = YES;
imageView.layer.cornerRadius = 5;
imageView.layer.borderWidth = 3;
imageView.layer.borderColor = [UIColor whiteColor].CGColor;
[self.view addSubview:imageView];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
就能呈现出良好,因为加了borderWidth 和 borderColor 看起来 有框的效果出现。
稍微修改一下代码,就能呈现出圆形的效果。
imageView.layer.cornerRadius = imageView.frame.size.width/2;
但是你有没有发现这个圆形并不是真正圆形,因为本身的图片尺寸并不是正方形。所以设置宽的一半值刚好呈现是圆形。这样子就可以解决到相应的问题。
如果需要对图片设置阴影的话,则需要修改几行代码即可
UIImageView *imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"head.jpg"]];
imageView.center = self.view.center;
//imageView.clipsToBounds = YES;
imageView.layer.cornerRadius = 6;//imageView.frame.size.width/2;
imageView.layer.borderWidth = 20;
imageView.layer.shadowOffset = CGSizeMake(4, 5);
imageView.layer.shadowOpacity = 0.8;
imageView.layer.shadowRadius = 4;
imageView.layer.shadowColor=[UIColor blackColor].CGColor;
imageView.layer.borderColor = [UIColor orangeColor].CGColor;
[self.view addSubview:imageView];
注意到 要注释了 imageView.clipsToBounds = YES;
否则真的看不见阴影了。但是有时候却想阴影,又想要圆角?至于怎样写?还没了解清楚。