这是我目前所做的视图:
我想要实现的是通过设置minimumZoomScale,使图像的顶部和底部适合scrollView。
答案 0 :(得分:1)
假设您的布局非常类似于宽高比适合模式,那么您可以在顶部/底部或左侧/右侧放置黑色部分。您将需要检查哪个纵横比更大。检查以下内容:
func getZoomScaleToFillSize(_ contentSize: CGSize, inFrame viewFrame: CGRect) -> CGFloat {
let contentAspect = contentSize.width/contentSize.height
let panelAspect = viewFrame.width/viewFrame.height
if(contentAspect > panelAspect) {
// Means it will be black on top and on bottom
return contentAspect/panelAspect
} else {
// Means it will be black on left and right
return panelAspect/contentAspect
}
}
因此,在两种情况下,我们都需要放大一点。在您的情况下,contentSize
应该是图像的大小。并且viewFrame
应该是滚动视图的框架。结果应该是需要进行缩放以使其“填充”并且黑色部分应该消失的缩放量。