
//定义view的大小
let selfFrame =CGRect(x:0, y:0, width:kScreenW-75, height:kScreenW*0.93)
super .init(frame: selfFrame)
//定义view的背景颜色
backgroundColor = .white
//定义view的角度
layer.cornerRadius = 5
//定义view的阴影颜色
layer.shadowColor = UIColor.colorWidthHexString(hex: "#000000").cgColor
//阴影偏移量
layer.shadowOffset=CGSize(width:0, height:1)
//定义view的阴影宽度,模糊计算的半径
layer.shadowRadius = 10
//定义view的阴影透明度,注意:如果view没有设置背景色阴影也是不会显示的
layer.shadowOpacity = 0.1
}
1、UIView切圆角UIView在切圆角的时候使用
会导致离屏渲染。
解决办法:不能使用masksToBounds,view.clipsToBounds直接切圆角:
这是方法适用于切全圆角,如果是切指定圆角的时候就不行了;
增加切指定圆角的方法
使用改方法满足了切指定圆角的需求;但是又会导致离屏渲染问题;
这儿想到一个办法就是使用UIImageView替换UIView或者是在底层插入UIImageView;
首先要设置一个UIImage根据背景设置
方法实现
之后再,具体实现见下面UIImageView切圆角方法;
2、UIView增加阴影效果:
会导致离屏渲染。
解决办法:设置阴影路径可避免离屏渲染
实现上述方法就可以实现圆角+阴影效果
3、UIImageView切圆角
简便的方法
在iOS9.0之后加载png图片设置圆角不会导致离屏渲染;
但是如果在给UIImageView增加一个背景色就会导致离屏渲染;
最优的解决办法:通过给UIImageView加载的图片切圆角;
给图片切圆角之后重新赋值给UIImageView;如下
需要给定size时,如果使用的Masnory添加的预约,则需要立即更新之后才会生效
将持续优化方法,找到最适合的方法
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)