给UIImage 设置圆角 阴影

来源:互联网 发布:android ios js 统一 编辑:程序博客网 时间:2024/06/08 11:04

通过设置UIImage的CALayer来达到目的

使用CALayer之前 先导入QuartzCore框架

思路:使用一个UIView 和一个UIImageView 来达到目的

UIView做成阴影效果 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// 设置UIView的CALayer的演示
- (void)myViewLayerDemo
{
    // Do any additional setup after loading the view, typically from a nib.
    // 1. 圆角
    [_myView.layer setCornerRadius:100];
    // 2. 阴影
    [_myView.layer setShadowOffset:CGSizeMake(-10, -10)];
    [_myView.layer setShadowColor:[UIColor darkGrayColor].CGColor];
    [_myView.layer setShadowOpacity:0.5];
      
    // 3. 边框
    // 在使用CALayer的时候,不能直接用以UI开头的对象,需要进行转换,譬如:UIColor
    [_myView.layer setBorderWidth:3];
    [_myView.layer setBorderColor:[UIColor whiteColor].CGColor];
}
  
// 设置UIImage的CALayer的演示
- (void)imageViewLayerDemo
{
    // 1. 圆角,在UIImageView里面,不止一个图层
    [_imageView.layer setCornerRadius:100];
    // 使用maskstoBounds属性,可以让所有子图层都跟随主图层
    [_imageView.layer setMasksToBounds:YES];
      
    // 2. 边框setMasksToBounds=YES,边框是有效的
    [_imageView.layer setBorderWidth:5];
    [_imageView.layer setBorderColor:[UIColor whiteColor].CGColor];
      
      
}
  
- (void)viewDidLoad
{
    [super viewDidLoad];
    [self myViewLayerDemo];
    [self imageViewLayerDemo];
0 0