UIImageView 的 contentMode 你了解多少?

     UIImageView 的contentMode这个属性是用来设置图片的显示方式,如居中、居右,是否缩放等 系统自带了以下参数:

typedef enum {

UIViewContentModeScaleToFill,   //默认

UIViewContentModeScaleAspectFit,    

UIViewContentModeScaleAspectFill,    

UIViewContentModeRedraw,              

UIViewContentModeCenter,              

UIViewContentModeTop,

UIViewContentModeBottom,

UIViewContentModeLeft,

UIViewContentModeRight,

UIViewContentModeTopLeft,

UIViewContentModeTopRight,

UIViewContentModeBottomLeft,

UIViewContentModeBottomRight,

}

对于上面常量,凡是没有带Scale的,当图片尺寸超过 ImageView尺寸时,只有部分显示在ImageView中。UIViewContentModeScaleToFill属性会导致图片变形。

UIViewContentModeScaleAspectFit会保证图片比例不变,而且全部显示在ImageView中,这意味着ImageView会有部分空白。

UIViewContentModeScaleAspectFill也会证图片比例不变,但是是填充整个ImageView的,可能只有部分图片显示出来。

图片正常现实的代码:

UIImageView * image = [[UIImageView alloc] init];

image.image = [UIImage imageNamed:@"图片"];

image.backgroundColor = [UIColor brownColor];

image.clipsToBounds = YES;

image.frame = CGRectMake(200, 200, 100, 100);

image.contentMode = UIViewContentModeScaleToFill;

[self.view addSubview:image];

PS:新手一枚 有错误欢迎大家指引,不喜勿喷。。^(* ̄(oo) ̄)^,

你可能感兴趣的:(UIImageView 的 contentMode 你了解多少?)