模拟器debug模式下: Color Blended Layers (混合层)
UILabel、UIImageV等控件避免混合层需要满足下面三个条件:
1、必须设置背景色完全不透明,不能设置clearColor
2、layer.masksToBounds = true
3、layer.shouldRasterize = true // 设置栅格化
4、如果UI设计师切图四周是透明的,就没办法了。(其实大部分icon都不是四方形的所以都有透明的部分)-- icon还好,对性能影响很小。
模拟器debug模式下:Color Misaligned Images(图片拉伸)
Image设置大小一定要和图片本身的大小一样,
否则会出现拉伸导致的性能下降
高效调整图片大小的方法(难免会出现图片和实际展示大小不同的情况)
/// 调整图片大小
func resize(size: CGSize) -> UIImage {
UIGraphicsBeginImageContext(size);
// UIGraphicsBeginImageContextWithOptions(size, false, 0) // 设置为不透明的,防止图片混合视图导致性能低。
self.draw(in: CGRect.init(x: 0.0, y: 0.0, width: size.width, height: size.height));
let resizeImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return resizeImage!;
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。