84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
给imageView如何设置约束才能让他显示图片原来正确的比例(不是固定宽度,然后根据图片比例,设置宽高比例约束等比缩放那种),,,图片的比例事先未知,,可以做到吗?
认证高级PHP讲师
雷雷
這個是可以的。 第一種情況:使用本地圖片, ` 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];
![图片描述][1] 可以看到图片宽高准确的打印出来了。然后你可以根据自己定的宽度,来等比缩放图片的高度就行了。 第二种情况:网络请求的图片,
[urlImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(self.view.mas_left).offset(15); make.top.equalTo(self.view.mas_top).offset(100); }];
` ![圖片寬高][2] 同第一種情況一樣,知道原始圖片寬高後,你就可以依自己的寬度等比縮放高度了。
雷雷
這個是可以的。
第一種情況:使用本地圖片,
` UIImageView *fenxiangImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"fenxiang"]];
NSLogFloat(fenxiangImageView.frameSizeWidth);
NSLogFloat(fenxiangImageView.frameSizeHeight);
[self.view addSubview:fenxiangImageView];
![图片描述][1] 可以看到图片宽高准确的打印出来了。然后你可以根据自己定的宽度,来等比缩放图片的高度就行了。 第二种情况:网络请求的图片,
UIImageView *urlImageView = [[UIImageView alloc] initWithImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"url"]]];NSLogFloat(urlImageView.frameSizeWidth);
NSLogFloat(urlImageView.frameSizeHeight);
[self.view addSubview:urlImageView];
`
![圖片寬高][2]
同第一種情況一樣,知道原始圖片寬高後,你就可以依自己的寬度等比縮放高度了。