iOS 中的CALayer

本文深入探讨了iOS开发中UIView的基本概念及其与CALayer的关系。UIView作为界面元素的基础,负责交互并由CALayer实现其绘图功能。文章详细介绍了CALayer的各种属性,如阴影、边框、圆角等,并提供了代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iOS中UIView是界面元素基础,应用程序上看得见摸得到的比如 一个button,一个label,一个textFiled,一个图片或者一个复杂的自定义cell都是继承于UIView.它本身是由CoreAnimation来实现的(Mac下似乎不是这样).但是它一般负责交互,而UIView 之所以有颜色等属性,是因为它真正的绘图部分是由另外一个类来实现,CALayer.      UIView本身更像是一个CALayer的管理器,访问它的跟绘图有关的属性,例如,frame bounds等等,实际上内部都是在访问它所包含的属性.每一个UIView及其子类都有一个只读的CALayer 实例 layer属性,通过它可以设置很多东西,如:阴影,边框,圆角,透明度等等.    CALayer的重要属性:

1. shadowPath : 设置 CALayer 背景(shodow)的位置

2. shadowOffset : shadow 在 X 和 Y 轴 上延伸的方向,即 shadow 的大小

3. shadowOpacity : shadow 的透明效果

4. shadowRadius : shadow 的渐变距离,从外围开始,往里渐变 shadowRadius 距离

5. masksToBounds : 很重要的属性,可以用此属性来防止子元素大小溢出父元素,如若防止溢出,请设为 true

6. borderWidth 和 boarderColor : 边框颜色和宽度,很常用

7. opacity : UIView 的透明效果

8. cornerRadius : UIView 的圆角代码示例:

    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];

    view.backgroundColor = [UIColor yellowColor];


    //设置阴影的颜色

    view.layer.shadowColor = [UIColor redColor].CGColor;

    

    //设置阴影的透明度 0 ~ 1  默认为0

    view.layer.shadowOpacity = 1;

    

    //设置视图阴影的偏移量 默认是CGSizeMake(0, -1)

    view.layer.shadowOffset = CGSizeMake(10, 10);

    

    //设置阴影的渐变距离 3

    view.layer.shadowRadius = 10;

    

    //边框颜色 和 宽度(默认为0)

    view.layer.borderColor = [UIColor blackColor].CGColor;

    view.layer.borderWidth = 1;

    //圆角

    view.layer.cornerRadius = 10;


    //是否允许子视图超出父视图 不允许为YES 也可以用来裁掉超出View外的CALayer (例如UILable)

    view.layer.masksToBounds = YES;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值