图片使用阴影的正确姿势
错误示范:会导致离屏渲染
imageView.layer.shadowOpacity = 0.5;
正确做法:通过shadowPath,告诉CoreAnimation你要渲染的形状,减少离屏渲染
|
|
对图片做圆角处理的正确姿势
错误示范:
给imageView加cornerRadius后用masksToBounds切。同时加上cornerRadius和masksToBounds后,会触发离屏幕渲染,如果一个Cell里有多个这样的图片,滑动的时候GPU压力会很大,从而导致严重的掉帧。
|
|
正确做法:
通过Core Graphics创建一块位图画布,将图片切成需要的形状
|
|
给UILabel设置圆角属性
不需要背景颜色时
不需要设置label的backgroundColor,只设置borderWidth、borderColor的label,直接设置cornerRadius,不需要设置masksToBounds = YES,就可以实现圆角功能。
需要背景色
设置label.layer.backgroundColor
|
|
cornerRadius属性:
它是影响layer显示的backgroundColor和border,对layer的contents不起作用。
如果UILabel设置backgroundColor,是为contents设置背景色,二不是设定layer的背景色,此时cornerRadius不能实现圆角效果。解决的方法是直接设置label.layer.backgroundColor。
在Cell里,需要响应cell的高亮效果
给UIButton或UITextView等视图做圆角处理
视图里如果不需要呈现图片,可以直接在后台线程画一个带圆角的背景图片,做为子视图。
|
|
|
|