UI之CALayer详解


CALayer 是一个很经常使用的到的 Object,
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];
     
      self.qiqiu=[[UIImageView alloc]initWithFrame:CGRectMake(10, 10, 200, 300)];
      self.qiqiu.image=[UIImage imageNamed:@"气球.png"];
      [self.view addSubview:qiqiu];

  //Test 1 阴影
      //self.qiqiu.layer.shadowPath = [UIBezierPath bezierPathWithRect:viewSample.bounds].CGPath;
      self.qiqiu.layer.shadowPath = [UIBezierPath bezierPathWithRect:CGRectMake(0, 0, 400, 400)].CGPath;
      self.qiqiu.layer.masksToBounds = NO;//不防止溢出
      self.qiqiu.layer.shadowOffset = CGSizeMake(10, 10);//偏移
      self.qiqiu.layer.shadowRadius = 5;
      self.qiqiu.layer.shadowOpacity = 0.5;

//Test 2 边框
      self.qiqiu.layer.borderWidth = 2;
      self.qiqiu.layer.borderColor = [[UIColor redColor] CGColor];

//Test 3 masksToBounds
      UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0,0, 500, 500)];
      btn.backgroundColor = [UIColor lightGrayColor];
      //[self.qiqiu addSubview:btn];
      //self.qiqiu.layer.masksToBounds = true;

 //Test 4 bounds 
//self.qiqiu.layer.bounds = CGRectMake(200, 200, 500, 500); 

  //Test 5
    
    self.qiqiu.layer.opacity = 0.5;
    
    self.qiqiu.layer.cornerRadius = 5;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值