layer的基本属性
1>边框
redView.layer.borderWidth = 10; // 边框的宽度
redView.layer.borderColor = [UIColor whiteColor].CGColor; // 边框的颜色
2>阴影
redView.layer.shadowOffset = CGSizeMake(50, 50); // 偏移量
redView.layer.shadowColor = [UIColor blueColor].CGColor; // 颜色
redView.layer.shadowOpacity = 1; // 透明度 (如果要显示 一定要加)
redView.layer.shadowRadius = 50; // 阴影的圆角半径
3>圆角
redView.layer.cornerRadius = 50;
redView.layer.masksToBounds = YES;
4>bounds
redView.layer.bounds = CGRectMake(0, 0, 200, 200);
5>postion属性和view.center的关系 默认
redView.layer.position = CGPointMake(100, 100);
6>设置内容(图片)
redView.layer.contents = (__bridge id)([UIImage imageNamed:@"me"].CGImage);
-------------如何禁用隐式动画-------------
[CATransaction begin]; // 开启事务
[CATransaction setDisableActions:YES]; // 禁用隐式动画
// 设置红色的layer 跑到手指的位置上
self.layer.position = p;
[CATransaction commit]; // 提交事务
-------------核心动画---------------
------------基础动画-------------------
CABasicAnimation *basic = [[CABasicAnimation alloc]init];
//操作
basic.keyPath = @"position.x";
basic.fromValue = @(10);//从哪开始
basic.toValue = @(300);//到哪结束
basic.byValue = @(30);//在自身的基础上增加10
//不希望核心动画回到原来的位置
basic.fillMode = kCAFillModeForwards;
basic.removedOnCompletion = NO;
[self.layer addAnimation:basic forKey:nil];
//第二种关键字
ani.keyPath = @"transform.rotation";
ani.byValue = @(2*M_PI);
--------------关键帧动画-----------------
CAKeyframeAnimation *ani = [[CAKeyframeAnimation alloc]init];
ani.keyPath = @"position";
UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(100, 100) radius:80 startAngle:0 endAngle:2*M_PI clockwise:1];
ani.path = path.CGPath;
ani.duration = 3;
ani.repeatCount = INT_MAX;
[self.layer addAnimation:ani forKey:nil]
//图标抖动的方案解决
ani.keyPath = @"transform.rotation";
ani.valus = @[@(M_PI_4),@(-,_PI_4),@(M_PI_4)];
```
-----------------组动画----------------
//创建组动画
CAKeyframeAnimation* anim = [[CAKeyframeAnimation alloc] init];
//添加动画
group.animations = @[ anim, anim1 ];
// 设置事件
group.duration = 3;
// 设置次数
group.repeatCount = INT_MAX;
// 3.添加动画到layer上
[self.layer addAnimation:group forKey:nil];
-----------------转场动画type关键字---------------
* fade 交叉淡化过渡
* push 新视图把旧视图推出去
* moveIn 新视图移到旧视图上面
* reveal 将旧视图移开,显示下面的新视图
* cube 立方体翻滚效果
* oglFlip 上下左右翻转效果
* suckEffect 收缩效果,如一块布被抽走
* rippleEffect 水滴效果
* pageCurl 向上翻页效果
* pageUnCurl 向下翻页效果
* cameraIrisHollowOpen 相机镜头打开效果
* cameraIrisHollowClose 相机镜头关闭效果
网友评论