为什么我放置在滚动视图中的图像视图具有扭曲的高度?
Why do my image views placed inside a scroll view have distorted heights?
我有一个 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()
,这把一切都搞砸了。我现在有点迷路了..帮忙?
将图像视图 clipToBounds
设置为 true
并将 UIViewContentMode
设置为 .Center
解决了问题!这可能是一个临时解决方案,但目前效果很好。感谢帮助
我有一个 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()
,这把一切都搞砸了。我现在有点迷路了..帮忙?
将图像视图 clipToBounds
设置为 true
并将 UIViewContentMode
设置为 .Center
解决了问题!这可能是一个临时解决方案,但目前效果很好。感谢帮助