UIImageView的三种ContentMode以及UIImage的三种渲染模式
UIImageView的三种ContentMode
- UIViewContentModeScaleToFill,
- UIViewContentModeScaleAspectFit,
- UIViewContentModeScaleAspectFill,
这三种都带有scale一词,表示缩放的意思,也就是说这三种模式的图片都会进行缩放以填充view。
有两个带有fill一词,表示会填满整个view
第一个:UIViewContentModeScaleToFill,表示通过缩放来填满view,也就是说图片会变形。
第二个:UIViewContentModeScaleAspectFit,表示按比例缩放并且图片要完全显示出来,意味着view可能会留有空白。
第三个:UIViewContentModeScaleAspectFill,表示按比例缩放并且填满view,意味着图片可能超出view,可能被裁减掉。
实际应用中第三种用的比较多,并且通过view.clipToBounds = YES;把超出部分裁减掉。
以上转自《iOS中的UIViewContentMode常用的三种模式》觉得解释的很好,学习下。
UIImage的三种渲染模式
1 typedef NS_ENUM(NSInteger, UIImageRenderingMode) { 2 UIImageRenderingModeAutomatic, // Use the default rendering mode for the context where the image is used 3 4 UIImageRenderingModeAlwaysOriginal, // Always draw the original image, without treating it as a template 5 UIImageRenderingModeAlwaysTemplate, // Always draw the image as a template image, ignoring its color information 6 }
第一种:UIImageRenderingModeAutomatic,表示程序会根据图片的使用情况和绘图上下文来自动选择渲染模式。
第二种:UIImageRenderingModeAlwaysOriginal,表示总是根据原图来渲染,不会去管TintColor。
第三种:UIImageRenderingModeAlwaysTemplate,表示总是根据TintColor去渲染,忽略图片的颜色信息。
以上记录下。