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去渲染,忽略图片的颜色信息。
 
以上记录下。
 
 

 

posted @ 2018-03-13 10:50  __Feng  阅读(848)  评论(0编辑  收藏  举报