美文网首页
iOS CALayer基本属性

iOS CALayer基本属性

作者: 墨守青城 | 来源:发表于2016-08-25 00:01 被阅读33次

    在iOS中, 基本上能看见的东西都是UIView, 比如一个普通的view , 一个button, 一个label. UIView之所以能显示在屏幕上, 是因为它有一个layer(图层)属性.
    @property(nonatomic,readonly,strong) CALayer *layer;
    // returns view's layer. Will always return a non-nil value. view is layer's delegate
    一个UIVIew中总会存在至少一个layer, 这个view同时是layer的代理.
    当UIView需要显示到屏幕上时,会将所有内容绘制在自己的layer层上,绘图完毕后,系统会将图层拷贝到屏幕上,于是就完成了UIView 的显示.总的来说就是layer负责显示内容, view负责内容的管理

    CALayer *layer = self.redView.layer;
    //设置阴影颜色
    layer.shadowColor = [UIColor blueColor].CGColor;
    //设置阴影的不透明度
    layer.shadowOpacity = 1;
    //偏移量
    layer.shadowOffset = CGSizeMake(30, 30);
    //模糊半径
    layer.shadowRadius = 5;
    //边框
    layer.borderWidth = 5;
    layer.borderColor = [UIColor greenColor].CGColor;
    //设置圆角
    layer.cornerRadius = 30;
    //有点时候只设置了圆角, 并不会起作用. 这时候还需要设置maskToBounds属性, 把超过maks层(根层)以外的东西都给裁剪掉
    layer.masksToBounds = YES;

    相关文章

      网友评论

          本文标题:iOS CALayer基本属性

          本文链接:https://www.haomeiwen.com/subject/wubosttx.html