先说一下需求:
想要实现imageView的高度随着未知图片的高度变化。
imageView的宽度固定为屏幕的宽度,高度随着需要加载的图片的高度变化。这样可以保持原图片尺寸不会被拉伸变形。
因为图片是本地相册中的图片,所以在viewWillAppear中添加imageview。
如果是tableview中加载网络图片,此段代码可以写在cell的设置代码中,使用kvo监测image,下载完成后调用 reloaddata。
-(void)viewWillAppear:(BOOL)animated{
[superviewWillAppear: animated];
self.imageView.image=self.image;
//必须判断图片宽度是否为0,除数不能为0.。。。
if(self.image.size.width!=0&&self.image.size.height!=0) {
计算imageview的高度。
CGFloatheight = ([UIScreenmainScreen].bounds.size.width*self.image.size.height)/self.image.size.width;
self.imageView.frame=CGRectMake(0,0,[UIScreenmainScreen].bounds.size.width,height);
}
[self.viewaddSubview:self.imageView];
}
如有不足的地方,请评论指正,谢谢~!
网友评论