将图像大小限制为 ScrollView、Swift

真实的

我有一个设置在滚动视图中的图像,尽管我已将 scrollView 的框架设置为固定的高度和宽度,如下所示,但图像超出了边界(见下图)。

如何限制图片以适合滚动视图。

imageScrollView.frame = CGRect(x: 0, y: 0, width: viewWidth, height: viewHeight-50)
imageScrollView.clipsToBounds = true // Has no affect on the image

在此处输入图片说明

唐麦格

您正在使用的库经过编码以将缩放比例与设备方向相匹配。因此,如果图像方向与视图方向不匹配,则最终图像将不太适合滚动视图。

您需要编辑ImageScrollView.swift源文件。假设您使用的版本与您提供的链接 ( https://github.com/huynguyencong/ImageScrollView ) 中的当前版本相同,setMaxMinZoomScalesForCurrentBounds()按如下方式更改函数:

fileprivate func setMaxMinZoomScalesForCurrentBounds() {
    // calculate min/max zoomscale
    let xScale = bounds.width / imageSize.width    // the scale needed to perfectly fit the image width-wise
    let yScale = bounds.height / imageSize.height   // the scale needed to perfectly fit the image height-wise

    // fill width if the image and phone are both portrait or both landscape; otherwise take smaller scale
    //let imagePortrait = imageSize.height > imageSize.width
    //let phonePortrait = bounds.height >= bounds.width
    //var minScale = (imagePortrait == phonePortrait) ? xScale : min(xScale, yScale)
    //
    // just take the min scale, so the image will completely fit regardless of orientation
    var minScale = min(xScale, yScale)

    let maxScale = maxScaleFromMinScale*minScale

    // don't let minScale exceed maxScale. (If the image is smaller than the screen, we don't want to force it to be zoomed.)
    if minScale > maxScale {
        minScale = maxScale
    }

    maximumZoomScale = maxScale
    minimumZoomScale = minScale * 0.999 // the multiply factor to prevent user cannot scroll page while they use this control in UIPageViewController
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

(Swift) 平移和缩放限制为特定大小的图像

来自分类Dev

将UIWebView限制为特定的URL(Swift)

来自分类Dev

将图像限制为包含视图的大小 (xamarin.android)

来自分类Dev

scrollview限制滚动区域iOS Swift

来自分类Dev

如何将Swift协议限制为具体类型?

来自分类Dev

Swift将泛型类型限制为Type

来自分类Dev

将函数参数参数限制为Swift中的基类

来自分类Dev

根据contenView的大小以编程方式调整scrollView的大小[Swift]

来自分类Dev

将最小大小限制为html表

来自分类Dev

Grails:将输入大小限制为一

来自分类Dev

将标题限制为图像的宽度

来自分类Dev

将输入大小限制为C#中TextBox的大小

来自分类Dev

在Swift中,如何将函数一般地限制为理解T + T的类型

来自分类Dev

将Google自动完成功能限制为仅限城市和国家/地区iOS Swift

来自分类Dev

如何将集合的Swift扩展限制为通用类型?

来自分类Dev

将代码限制为Objective-C或Swift调用者

来自分类Dev

将UIPinchGestureRecognizer缩放级别限制为Objective C到Swift 3.0

来自分类Dev

在Swift中将UITextField输入限制为数字

来自分类Dev

C ++(以某种方式)将结构限制为父联合大小

来自分类Dev

如何将图片大小限制为其父容器

来自分类Dev

如何将jquery脚本限制为容器div的大小

来自分类Dev

如何将iOS图表限制为视图大小

来自分类Dev

RecyclerView --SelectionTracker将选择大小限制为10个项目

来自分类Dev

如何将UIImageView限制为最佳大小?

来自分类Dev

如何将DiskCache插件限制为特定的存储大小?

来自分类Dev

如何将iOS图表限制为视图大小

来自分类Dev

在Codeigniter中访问图像,但将URL限制为非用户

来自分类Dev

将“鼠标悬停”限制为图像尺寸

来自分类Dev

在Swift中,如何将函数一般性地限制为理解T + T的类型

Related 相关文章

  1. 1

    (Swift) 平移和缩放限制为特定大小的图像

  2. 2

    将UIWebView限制为特定的URL(Swift)

  3. 3

    将图像限制为包含视图的大小 (xamarin.android)

  4. 4

    scrollview限制滚动区域iOS Swift

  5. 5

    如何将Swift协议限制为具体类型?

  6. 6

    Swift将泛型类型限制为Type

  7. 7

    将函数参数参数限制为Swift中的基类

  8. 8

    根据contenView的大小以编程方式调整scrollView的大小[Swift]

  9. 9

    将最小大小限制为html表

  10. 10

    Grails:将输入大小限制为一

  11. 11

    将标题限制为图像的宽度

  12. 12

    将输入大小限制为C#中TextBox的大小

  13. 13

    在Swift中,如何将函数一般地限制为理解T + T的类型

  14. 14

    将Google自动完成功能限制为仅限城市和国家/地区iOS Swift

  15. 15

    如何将集合的Swift扩展限制为通用类型?

  16. 16

    将代码限制为Objective-C或Swift调用者

  17. 17

    将UIPinchGestureRecognizer缩放级别限制为Objective C到Swift 3.0

  18. 18

    在Swift中将UITextField输入限制为数字

  19. 19

    C ++(以某种方式)将结构限制为父联合大小

  20. 20

    如何将图片大小限制为其父容器

  21. 21

    如何将jquery脚本限制为容器div的大小

  22. 22

    如何将iOS图表限制为视图大小

  23. 23

    RecyclerView --SelectionTracker将选择大小限制为10个项目

  24. 24

    如何将UIImageView限制为最佳大小?

  25. 25

    如何将DiskCache插件限制为特定的存储大小?

  26. 26

    如何将iOS图表限制为视图大小

  27. 27

    在Codeigniter中访问图像,但将URL限制为非用户

  28. 28

    将“鼠标悬停”限制为图像尺寸

  29. 29

    在Swift中,如何将函数一般性地限制为理解T + T的类型

热门标签

归档