小编Mik*_*son的帖子

更改UIImageView大小以使图像与AutoLayout匹配

我想改变我的UIImageView高度/宽度以匹配我从相册中选择的图像,我在这里找到了一个代码片段.

-(CGRect)frameForImage:(UIImage *)imgs inImageViewAspectFit:(UIImageView *)imagev
{
  float imageRatio = imgs.size.width / imgs.size.height;
  float viewRatio = imagev.frame.size.width / imagev.frame.size.height;
  if(imageRatio < viewRatio)
  {
    float scale = imagev.frame.size.height / imgs.size.height;
    float width = scale * imgs.size.width;
    float topLeftX = (imagev.frame.size.width - width) * 0.5;
    NSLog(@"image after aspect fit: width=%f",width);
    imagev.frame = CGRectMake(topLeftX, 0, width, imagev.frame.size.height);
    return CGRectMake(topLeftX, 0, width, imagev.frame.size.height);
  }
  else
  {
    float scale = imagev.frame.size.width / imgs.size.width;
    float height = scale * imgs.size.height;
    float topLeftY = (imagev.frame.size.height - height) * …
Run Code Online (Sandbox Code Playgroud)

uiimageview ios autolayout ios6

18
推荐指数
2
解决办法
4万
查看次数

标签 统计

autolayout ×1

ios ×1

ios6 ×1

uiimageview ×1