IOS学习笔记 CALayer & 核心动画 CALayer基本属性的使用(1)


#import "YLViewController.h"


// 引入框架的头文件

#import <QuartzCore/QuartzCore.h>



/*


 写代码之前先整理下思路:


 查看源代码:


 在控制器 UIViewController 中定义了个UIView的属性 ---> UIView 中定义了一个属性


 @property(nonatomic,readonly,retain) CALayer  *layer;

 

 然后跳入 CALayer 中查看:


 @interface CALayer : NSObject <NSCoding, CAMediaTiming>

 

 说明 CALayer是一个类而且里面定义了很多的属性和方法,这些方法和属性是动画的基础

 

 那么我们现在就可以:

   

  用UIView的对象myView来操作定义在UIView中的CALayer类的对象layer来操作CALayer类中的属性和方法(代码的理论基础)

                                       

 */


@interface YLViewController ()


@end


@implementation YLViewController


- (void)viewDidLoad

{

    [superviewDidLoad];

    

    [self.viewsetBackgroundColor:[UIColorlightGrayColor]];

    

    // 一、既然要用UIView的对象去操作 CALayer的属性 那么得首先创建一个UIView对象

    UIImage *image = [UIImageimageNamed:@"头像1.png"];

   UIImageView *imageView = [[UIImageViewalloc]initWithImage:image];

    [imageViewsetFrame:CGRectMake(15,200,180,200)];

    [self.viewaddSubview:imageView];

    

    

    // 1、设置图像的圆角半径为20

    

   /*

     下面代码执行后没有反应为什么呢?s下面learnCalayer方法都可以显示圆角这里为什么不行呢?

     这是因为在UIImageView中,图层不止一个,如果要引用图层的属性,需要设置一个遮罩属性

     设置遮罩属性的目的是让所有图层跟随父图层一起变化设置如下:

    [imageView.layer setMasksToBounds:YES];

     */

    [imageView.layersetMasksToBounds:NO];

    [imageView.layersetCornerRadius:20];

    

    // 2、设置图像的边框宽度、颜色(注意:要显示图像边框的颜色那就要先设置边框的宽度)

    [imageView.layersetBorderWidth:3.0f];

    [imageView.layersetBorderColor:[UIColorredColor].CGColor];

    

    // 3、设置不想的阴影但是要把遮罩属性关闭 那么在这里就要取舍圆角属性和阴影属性

    [imageView.layersetShadowOffset:CGSizeMake(40,40)];

    [imageView.layersetShadowOpacity:3.0f];

    [imageView.layersetShadowColor:[UIColorblackColor].CGColor];


}



#pragma mark 视图的属性


- (void) learnCalayer

{

   

   UIView *myView = [[UIViewalloc]initWithFrame:CGRectMake(100,30,100,100)];

    [myView setBackgroundColor:[UIColorredColor]];

    [self.viewaddSubview:myView];

    

    //  1、设置圆角并且指定半角 本来myView显示的是一个正方形但是通过圆角显示了一个圆

    [myView.layersetCornerRadius:50];

    

   /*

     2、边框setBorderColor:CGColorRef设置颜色的这种参数没见过

     那怎么设置参数UI设置颜色的方法再调用一下cgColor方法即可

     */

    [myView.layersetBorderColor:[UIColorwhiteColor].CGColor];//边框白颜色

    [myView.layersetBorderWidth:3.0f];//边框的宽度参数直接设定了个3.0f是什么?

    

    // 3、设置阴影(颜色、透明度、偏移量)

    // 3.1 设置阴影的颜色 默认透明

    [myView.layersetShadowColor:[UIColorblackColor].CGColor];

    // 3.2 设置阴影的颜色不透明

    [myView.layersetShadowOpacity:1.0f];

    // 3.3 设置偏移量

    [myView.layersetShadowOffset:CGSizeMake(-10,10)];

}

@end



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值