搜尋

首頁  >  問答  >  主體

iOS 图片显示

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

PHP中文网PHP中文网2886 天前383

全部回覆(2)我來回復

  • 大家讲道理

    大家讲道理2017-04-17 14:50:25

    雷雷

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 14:50:25

    這個是可以的。
    第一種情況:使用本地圖片,
    ` 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]
    同第一種情況一樣,知道原始圖片寬高後,你就可以依自己的寬度等比縮放高度了。

    回覆
    0
  • 取消回覆