为什么放置在滚动视图中的图像视图会出现扭曲的高度?

时间:2015-06-05 20:35:20

标签: ios swift uiscrollview uiimageview

我有一个UIImageViews数组,每个数组都有一个不同的图像和一个将它们放在UIScrollView内的函数,因此它们可以像幻灯片一样自动滚动。我的滚动视图的高度为150像素,图像为400x150 PDF。

由于iPhone 5模拟器上的一些奇怪的原因,我的图像是垂直扭曲的,而它们在iPhone 6和6 Plus对应物上看起来完全正常。有人会对为什么会发生这种情况有任何见解吗?

这是我的代码:

var pageViews: [UIImageView] = []
    @IBOutlet weak var carousel: UIScrollView!

    func showPage() {
        //Sets up the image views with their images inside the scroll view
        for (index, page) in enumerate(pageViews) {
            var frame = carousel.frame
            page.frame = CGRectMake(frame.size.width * CGFloat(index), 0, carousel.frame.width, page.image!.size.height)
            page.frame.origin.x = frame.size.width * CGFloat(index)
            page.contentMode = .ScaleToFill
            carousel.addSubview(page)
        }
    }

在viewDidAppear()中调用上述函数。我试过在viewDidLoad()和viewDidLayoutSubviews()中调用它,但没有区别。我也尝试将UIViewContentMode更改为其他选项,如.ScaleAspectFit,这些选项修复了高度失真,但图像不再填充图像视图,这使得一切看起来都很奇怪。我试过改变图像尺寸,但没有效果。最后我试过page.sizeToFit(),这搞砸了一切。我现在有点迷路了......帮忙?

1 个答案:

答案 0 :(得分:0)

将图片视图clipToBounds设置为true,将UIViewContentMode设置为.Center解决了问题!这可能是一个临时解决方案,但现在效果很好。谢谢你的帮助