iOS 图片显示

给imageView如何设置约束才能让他显示图片原来正确的比例(不是固定宽度,然后根据图片比例,设置宽高比例约束等比缩放那种),,,图片的比例事先未知,,可以做到吗?

阅读 3.8k
2 个回答
imageView.contentMode = UIViewContentModeScaleAspectFit;

这个是可以的。
第一种情况:使用本地图片,
` UIImageView *fenxiangImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"fenxiang"]];
NSLogFloat(fenxiangImageView.frameSizeWidth);
NSLogFloat(fenxiangImageView.frameSizeHeight);
[self.view addSubview:fenxiangImageView];

[fenxiangImageView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.left.equalTo(self.view.mas_left).offset(15);
    make.top.equalTo(self.view.mas_top).offset(100);
}];

![图片描述][1] 可以看到图片宽高准确的打印出来了。然后你可以根据自己定的宽度,来等比缩放图片的高度就行了。 第二种情况:网络请求的图片, UIImageView *urlImageView = [[UIImageView alloc] initWithImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"url"]]]];
NSLogFloat(urlImageView.frameSizeWidth);
NSLogFloat(urlImageView.frameSizeHeight);
[self.view addSubview:urlImageView];

[urlImageView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.left.equalTo(self.view.mas_left).offset(15);
    make.top.equalTo(self.view.mas_top).offset(100);
}];

`
![图片宽高][2]
同第一种情况一样,知道原始图片宽高后,你就可以按自己的宽度等比缩放高度了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题