【问题标题】:UIScrollView zoom uiview to aspect fillUIScrollView 缩放 uiview 到方面填充
【发布时间】:2020-09-30 18:32:52
【问题描述】:

我在 UIScrollView 中有一个图像,我正在尝试使其默认填充纵横比,下面的代码将其缩放为第一个附加图像中列出的。但这不是我所期望的,如何正确扩展它?

    func aspectFill() {
        let imageSize = imageZoomView.bounds.size

        let xScale = bounds.width / imageSize.width
        let yScale = bounds.height / imageSize.height

        zoomScale = max(xScale, yScale)
    }

但预期的结果是

【问题讨论】:

  • 在滚动视图中添加 UIImageView 是否有特定原因,而不是仅仅为 UIImageView 本身提供方面填充内容模式?
  • 我想他想添加缩放和捏合
  • 是的,我把 uiimage 放到滚动视图中以便能够缩放,我想缩放它以默认填充
  • @YehorChernenko - 您是否希望图像在 aspectFill 处开始,但还允许缩小以显示完整图像?还是您希望最小缩放比例保持纵横填充?
  • 是的!我想从方面填充开始并允许缩小以显示完整图像

标签: ios swift uiscrollview uiimage


【解决方案1】:

垂直和横向图像方向的解决方案:

let widthRatio = sourseImageSize.width / sourseImageSize.height
let height = scrollView.bounds.width / widthRatio
let zoomScaleH = scrollView.bounds.height / height
    
let heightRatio = sourseImageSize.height / sourseImageSize.width
let width = scrollView.bounds.height / heightRatio
let zoomScaleW = scrollView.bounds.width / width

let scaleResult = max(zoomScaleH, zoomScaleW)

scrollView.setZoomScale(scaleResult, animated: false)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 2014-10-03
    • 1970-01-01
    • 2019-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多