zoukankan      html  css  js  c++  java
  • CALayer的基本属性

        

        CALayer *superLayer=self.view.layer;

        //创建CALayer

        CALayer *subLayer =[CALayer layer];

        //添加到父图层

        [superLayer addSublayer:subLayer];

        //尺寸

        subLayer.bounds =CGRectMake(0, 0, 200, 200);

        //颜色

        subLayer.backgroundColor =[UIColor greenColor].CGColor;

        //位置

        subLayer.position=CGPointMake(100, 100);

        //锚点

        subLayer.anchorPoint =CGPointMake(0 , 0);

        //圆角

        subLayer.cornerRadius =100;

        //context内容

        UIImage *image =[UIImage imageNamed:@"b"];

        subLayer.contents =(__bridge id)(image.CGImage);

        //超出范围剪裁

        subLayer.masksToBounds =YES;

        //边框颜色

        subLayer.borderColor=[UIColor yellowColor].CGColor;

        //边框大小

        subLayer.borderWidth =5;

        // 阴影

        // 阴影和边界剪裁是不能同时使用的,因为阴影本身就是渲染到边界外面的

        //再从新创建CALyer,这样可以添加阴影

        CALayer *shadowLayer =[CALayer layer];

        shadowLayer.bounds =subLayer.bounds;

        shadowLayer.position =subLayer.position;

        shadowLayer.anchorPoint = CGPointMake(0, 0);

        //圆角

        shadowLayer.cornerRadius =100;

        // CALayer的默认背景色不是白色,而是透明色

        shadowLayer.backgroundColor =[UIColor whiteColor].CGColor;

        //阴影颜色

        shadowLayer.shadowColor =[UIColor grayColor].CGColor;

        //阴影偏移量

        shadowLayer.shadowOffset =CGSizeMake(10, 10);

        //阴影不透明度

        shadowLayer.shadowOpacity =1;

        //添加视图

        [superLayer insertSublayer:shadowLayer below:subLayer];

        //形变

        //位移01

        subLayer.transform =CATransform3DMakeTranslation(-100, 100, 0);

        //位移02

        subLayer.transform =CATransform3DMakeTranslation(100, -100, 0);

        //放大,缩小

        subLayer.transform=CATransform3DMakeScale(.5, .5, .5);

        //旋转  (-1,0,1)  倒着转,不转,正着转;旋转中心以锚点为中心点

        subLayer.transform =CATransform3DMakeRotation(-M_PI_4, -1, 0, 1);

        

        CALayer *transLayer =[CALayer layer];

        transLayer.bounds =CGRectMake(0, 0, 100, 100);

        transLayer.position =CGPointMake(100, 100);

        transLayer.backgroundColor =[UIColor brownColor].CGColor;

        [self.view.layer addSublayer:transLayer];

        //近大远小

        CATransform3D trans =CATransform3DIdentity;

        trans.m34 =-1/800.f;

        subLayer.transform =trans;

        trans =CATransform3DRotate(trans, M_PI_4, 0, -1, -1);

        transLayer.transform =trans;

        CALayer *textLayer =[CALayer layer];

        textLayer.bounds =transLayer.bounds;

        textLayer.position =transLayer.position;

        textLayer.backgroundColor =[UIColor blueColor].CGColor;

        [self.view.layer insertSublayer:textLayer below:transLayer];

  • 相关阅读:
    [转]Oracle 语法之 OVER (PARTITION BY ..) 及开窗函数
    oracle本月、上月、去年
    Oracle 物理视图刷新报错ORA-00942
    [转]Oracle trunc()函数的用法
    [转]物化视图创建 及 刷新机制修改
    [转]oracle制定定时任务(dbms_jobs)
    【转】Windows平台下的Subversion安装配置新手指南
    【转】数字签名与数字证书
    [转]SQL 常用函数及示例
    【转】视图、索引、存储过程 、触发器、游标及事务
  • 原文地址:https://www.cnblogs.com/yxt9322yxt/p/4775139.html
Copyright © 2011-2022 走看看