CALayer

本文介绍了 iOS 开发中 CALayer 的重要性和常见属性的应用,包括阴影、边框、圆角和透明效果等,并通过示例代码展示了如何设置这些属性。

是一个很经常使用的到的 Object,很常用,也很重要,同时又有比较多的属性,一定要详细了解下

CALayer 的原理很难懂,由于我目前只注重运用,所以就说那些在实际开发中能用到的一些地方

为什么说 CALayer 很重要呢:
1. 每个UIView 都有 CALayer,即 UIView.layer,同时 UIView是 iOS系统中界面元素的基础,所有的界面元素都是继承自它,所以,CALayer 应用很广泛
2. CALayer 能够对 UIView 做许多设定,如:阴影、边框、圆角和透明效果等,且这些设定都是很有用的
下面就逐个过下 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. bounds : 对于我来说比较难的一个属性,测了半天也没完全了解,只知道可以用来控制 UIView 的大小,但是不能控制 位置
8. opacity : UIView 的透明效果
9. cornerRadius : UIView 的圆角
测试代码:
- ( void )viewDidLoad
{
    [super viewDidLoad];
   
    UIView 
*viewSample =  [[UIView alloc] init];
    [self.view addSubview:viewSample];
 
    viewSample.backgroundColor 
=  [UIColor greenColor];
    viewSample.frame 
= CGRectMake( 100100400400 );
   
   
   
// Test 1 阴影
   
// viewSample.layer.shadowPath = [UIBezierPath bezierPathWithRect:viewSample.bounds].CGPath;
    viewSample.layer.shadowPath = [UIBezierPath bezierPathWithRect:CGRectMake( 00400400 )].CGPath;
    viewSample.layer.masksToBounds 
=  NO;
    viewSample.layer.shadowOffset 
= CGSizeMake( 1010 );
    viewSample.layer.shadowRadius 
5 ;
    viewSample.layer.shadowOpacity 
0.5 ;
   
   
// Test 2 边框
    viewSample.layer.borderWidth =  2 ;
    viewSample.layer.borderColor 
=  [[UIColor redColor] CGColor];
   
   
// Test 3 masksToBounds
    UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake( 0, 0500500 )];
    btn.backgroundColor 
=  [UIColor lightGrayColor];
   
// [viewSample addSubview:btn];
   
// viewSample.layer.masksToBounds = true;
   
   
   
// Test 4 bounds
   
// viewSample.layer.bounds = CGRectMake(200, 200, 500, 500);
 
   
   
// Test 5
    viewSample.layer.opacity =  0.5 ;
    viewSample.layer.cornerRadius 
5 ;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值