imageview 属性 图片尺寸不改变

UIImageView 的contentMode这个属性是用来设置图片的显示方式,如居中、居右,是否缩放等,有以下几个常量可供设定:

UIViewContentModeScaleToFill

UIViewContentModeScaleAspectFit

UIViewContentModeScaleAspectFill

UIViewContentModeRedraw

UIViewContentModeCenter

UIViewContentModeTop

UIViewContentModeBottom

UIViewContentModeLeft

UIViewContentModeRight

UIViewContentModeTopLeft

UIViewContentModeTopRight

UIViewContentModeBottomLeft

UIViewContentModeBottomRight

注意以上几个常量,凡是没有带Scale的,当图片尺寸超过

ImageView尺寸时,只有部分显示在ImageView中。UIViewContentModeScaleToFill属性会导致图片变形。UIViewContentModeScaleAspectFit会保证图片比例不变,而且全部显示在ImageView中,这意味着ImageView会有部分空白。UIViewContentModeScaleAspectFill也会证图片比例不变,但是是填充整个ImageView的,可能只有部分图片显示出来。

例如:

1。显示正常的图片

[cpp]view

plaincopy

_image = [[UIImageView alloc] init];

image = [UIImage imageNamed:@"12.jpeg"];

_image.backgroundColor = [UIColor brownColor];

_image.clipsToBounds = YES;

_image.frame = CGRectMake(100, 130, 100, 100);

_image.contentMode = UIViewContentModeScaleToFill;

[self.view addSubview:_image];

imageview 属性 图片尺寸不改变_第1张图片

2。

[cpp]view

plaincopy

_image.contentMode = UIViewContentModeScaleAspectFill;

imageview 属性 图片尺寸不改变_第2张图片

3。

[cpp]view

plaincopy

_image.contentMode = UIViewContentModeScaleAspectFit;

imageview 属性 图片尺寸不改变_第3张图片

你可能感兴趣的:(imageview 属性 图片尺寸不改变)