有些时候需要固定图片的大小,比如说微博的图片显示,但是原图很大,如果直接设置image,image不是等比拉升的,视觉效果很差。
下面一些属性的设置会帮助提高显示效果,像微博的一样
1.contentMode 内容显示的模式
2.clipToBounds 超出区域裁剪
3.contentsRect 要显示图片内容区域 全部显示是(0,0,1,1)
原图
固定图片大小,直接设置,拉升了很难看
固定尺寸,部分显示,微博就是这样显示的
UIImage *image = [UIImage imageNamed:@"abc.jpg"];
float bi = image.size.width/image.size.height;
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
imageView.frame = CGRectMake(0, 20, 175,175 );
imageView.contentMode = UIViewContentModeScaleAspectFill;
imageView.clipsToBounds = YES;
if (bi>1) {
//显示图片的中间部分
imageView.layer.contentsRect = CGRectMake((bi-1)/2, 0, 1/bi, 1);
}