#import "ViewController.h"

@interface ViewController (){
    CALayer *_l1;//定义能够全局使用
    CALayer *_l2;
}

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

CALayer *l2 = [CALayer layer];
    l2.frame = CGRectMake(50, 50, 100, 100);
    l2.backgroundColor = [UIColor greenColor].CGColor;
//    l2.transform = CATransform3DMakeRotation(M_PI_4, 1, 1, 0);//旋转
    [self.view.layer addSublayer:l2];
    _l2 = l2;
    
    
    CALayer *l1 = [CALayer layer];//创建并初始化
    l1.frame = CGRectMake(50, 50, 100, 100);
    l1.backgroundColor = [UIColor yellowColor].CGColor;//背景颜色
    //    l1.doubleSided = NO;   //是否两面
    //    l1.transform = CATransform3DMakeRotation(M_PI_4, 1, 1, 0);//旋转
    l1.cornerRadius = 30;//当要是一个矩形时 这个为将要在四个角变成圆角  如果有图片则不能直接显示效果
    l1.masksToBounds = NO;//这就是有图片时将会把多出的部分强行剪切,就能显示圆角
    l1.contents = (__bridge id)(([UIImage imageNamed:@"1.jpg"].CGImage));//添加图片
    l1.borderColor = [UIColor redColor].CGColor;//边框颜色
    l1.borderWidth = 10;//边框的大小
    l1.opacity = 1;//透明度
    l1.shadowColor = [UIColor blackColor].CGColor;//阴影颜色
    l1.shadowOpacity = 1;//阴影透明度
    l1.shadowOffset = CGSizeMake(10, 10);
    l1.shadowRadius = 6;//半径区域大小

[self.view.layer addSublayer:l1];//在页面上显示效果
    _l1 = l1;

}
- (IBAction)didClicked:(id)sender {
//    _l1.bounds = CGRectMake(0, 0, 100, 100);
//    _l1.position = CGPointMake(0, 0);//中心点到坐标显示
//    _l1.anchorPoint = CGPointMake(0, 1);//锚点
    _l1.zPosition = 100;//在Z轴上方
    _l1.doubleSided = NO;//反面无
    _l1.transform = CATransform3DMakeRotation(M_PI, 1, 0, 0);//旋转
    _l2.transform = CATransform3DIdentity;
    
}
- (IBAction)didClicked2:(id)sender {
    _l2.transform = CATransform3DMakeRotation(M_PI, 1, 0, 0);
    _l1.transform = CATransform3DIdentity;
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

 

ios layer 动画的更多相关文章

  1. ios layer 动画-(transform.rotation篇)

    x轴旋转: CABasicAnimation *theAnimation; theAnimation=[CABasicAnimation animationWithKeyPath:@"tra ...

  2. IOS UIVIEW layer动画 总结(转)

    转发自:http://www.aichengxu.com/article/%CF%B5%CD%B3%D3%C5%BB%AF/16306_12.html   IOS UIVIEW layer动画 总结, ...

  3. ios中layer动画和UIView动画代码总结

    kCATransitionFade淡出  kCATransitionMoveIn覆盖原图  kCATransitionPush推出  kCATransitionReveal底部显出来    pageC ...

  4. iOS核心动画学习整理

    最近利用业余时间终于把iOS核心动画高级技巧(https://zsisme.gitbooks.io/ios-/content/chapter1/the-layer-tree.html)看完,对应其中一 ...

  5. IOS 核心动画之CAKeyframeAnimation - iBaby

    - IOS 核心动画之CAKeyframeAnimation - 简单介绍 是CApropertyAnimation的子类,跟CABasicAnimation的区别是:CABasicAnimation ...

  6. iOS各种动画效果

    ios各种动画效果 最普通动画: //开始动画 [UIView beginAnimations:nil context:nil];  //设定动画持续时间 [UIView setAnimationDu ...

  7. IOS之动画

    IOS之动画   15.1 动画介绍 15.2 Core Animation基础 15.3 隐式动画 15.4 显式动画 15.5 关键帧显式动画 15.6 UIView级别动画 15.1 动画介绍 ...

  8. IOS 动画专题 --iOS核心动画

    iOS开发系列--让你的应用“动”起来 --iOS核心动画 概览 通过核心动画创建基础动画.关键帧动画.动画组.转场动画,如何通过UIView的装饰方法对这些动画操作进行简化等.在今天的文章里您可以看 ...

  9. ios 学习动画的套路 (一)

    你也肯定喜欢炫酷的动画! 在APP中,动画就是一个点睛之笔!可以给用户增加一些独特的体验感,估计也有许多的和我一样的,看着那些觉得不错的动画,也就只能流口水的孩子,毕竟~不知道从哪里下手去写!会连续的 ...

随机推荐

  1. 第一次使用cnblogs

    第一次使用!!!!!留名纪念下!!!!!!!!!!!

  2. HTML表格标记

  3. HDU:3368-Reversi(暴力枚举)

    Reversi Time Limit: 5000/2000 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Others)Total Su ...

  4. Android app作为系统应用实现功能笔记

    1.禁用StatusBar相关功能需要添加权限 <uses-permission android:name="android.permission.STATUS_BAR"&g ...

  5. [妙味JS基础]第九课:定时器管理、函数封装

    知识点总结 函数封装 回调函数 实例:抖动函数 获取当前的位置 通过数组来实现,一正一负,直到恢复成0为止. 当前位置与数组中各值相加

  6. sql 取2个日期之间的数据

    select * from table1 where larq between(to_date('2008-9-3','yyyy-mm-dd')) and (to_date('2008-9-5','y ...

  7. JMS理解2

    使用JMS 的应用程序被称为JMS 客户端,处理消息路由与传递的消息系统被称为JMS Provider,而JMS 应用则是由多个JMS 客户端和一个JMS Provider 构成的业务系统.发送消息的 ...

  8. onSaveInstanceState()和onRestoreInstanceState()方法

    Activity的 onSaveInstanceState() 和 onRestoreInstanceState()并不是生命周期方法,它们不同于 onCreate().onPause()等生命周期方 ...

  9. Maxmum subsequence sum problem

    We have a lot of ways to solve the maximum subsequence sum problem, but different ways take differen ...

  10. C语言 - 大小端问题

    目前使用的机器都是使用字节BYTE来存储的. 对于跨越多字节的对象,必须搞清楚两个规则: 这个对象的地址是什么 在存储器中如何按照这些字节的存放的书序 对于一个整型对象 a=0x12345678,一共 ...