iOS:UIViewContentModeScaleAspectFill未在某些图像上应用(不工作)

时间:2015-07-21 15:07:58

标签: ios

我看到一些奇怪的行为,其中UIViewContentModeScaleAspectFill contentMode在某些图像上正确设置但在其他图像上没有。这就是我设置图像的方式:

  self.photos = @[ [UIImage imageNamed:@“pic1.jpg"],  [UIImage imageNamed:@“pic2.jpg"]];

  for (int i = 0; i < self.photos.count; i++)
  {
    UIImageView *picView = [UIImageView new];
    picView.image = self.photos[i];
    picView.frame = Frame(1080.0 * i,0,1080.0,self.picHeight);
    picView.contentMode = UIViewContentModeScaleAspectFill;
    picView.clipsToBounds = YES;
    [self.photoScrollView addSubview:picView];
  }

这是pic1.jpg,其中UIViewContentModeScaleAspectFill不受尊重,并且pic被垂直压扁: enter image description here ic2.jpg

这是pic2.jpg,其中UIViewContentModeScaleAspectFill做了应有的事情。两个图像的代码相同。 enter image description here

1 个答案:

答案 0 :(得分:0)

这真的感觉就像苹果公司的一个错误,但我找到了一个非常简单的解决方法。

将UIImageView添加到其superview之后,我只是这样做,它使UIViewContentModeScaleAspectFill工作:

picView.frame = CGRectMake(picView.frame.origin.x, picView.frame.origin.y, picView.frame.size.width, picView.frame.size.height + 1);