我看到一些奇怪的行为,其中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被垂直压扁: ic2.jpg
这是pic2.jpg,其中UIViewContentModeScaleAspectFill做了应有的事情。两个图像的代码相同。
答案 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);