之所以要讨论 iOS 中的圆角,是因为圆角在各种 app 中大量被使用,而普通设置圆角的方式又会触发离屏渲染导致 FPS 的下降。
对于 UIImageView 来说,普遍的做法是将 image 通过 Core Graphics 画出一张带圆角的图片。像头像这样尺寸相对固定的图片来说这样做是很简单的,这里 详细的探讨了这件事,但是对于大图片的展示,要多考虑的一个问题是 contentMode。
有两种思路,第一种思路是剪裁图片,让这张图片刚好为相对应 contentMode 的 imageView 呈现的图片的大小。
计算的代码在这个 gist 中可以找到: