当 contentMode 为 AspectFill 时在 ScrollView 内平移 ImageView

Posted

技术标签:

【中文标题】当 contentMode 为 AspectFill 时在 ScrollView 内平移 ImageView【英文标题】:Panning an ImageView inside a ScrollView when contentMode is AspectFill 【发布时间】:2021-04-30 19:56:11 【问题描述】:

我在 ScrollView 中有一个 ImageView 和一个用于在 .scaleAspectFit 和 .scaleAspectFill 之间切换 contentMode 的按钮。我添加了缩放和平移功能,但它仅在 contentMode 为 .scaleAspectFit 时才有效。

我希望能够平移图像以查看在 .scaleAspectFill 中未显示的图像部分,因为图像根据需要占据了整个滚动视图。

我无法找到任何有关如何执行此操作的信息,非常感谢任何帮助或提示。

【问题讨论】:

看看这个答案是否满足你的需要:***.com/a/63469412/6257435 【参考方案1】:

据我了解,UIScrollView 内的缩放和平移不适用于 .scaleAspectFill。这是一个先有鸡还是先有蛋的问题:必须以某种方式定义图像的实际大小,以便滚动视图知道它的内容大小。

您应该以编程方式更改为不同的缩放级别,而不是尝试切换 contentMode,例如缩放以填充可用空间与缩小以查看完整图像。

【讨论】:

以上是关于当 contentMode 为 AspectFill 时在 ScrollView 内平移 ImageView的主要内容,如果未能解决你的问题,请参考以下文章

UIImageView 设置为 imageWithData 忽略 contentMode

在 UIButton 的 ImageView 上将 ContentMode 设置为 AspectFill 不适用于较小的图像

将contentMode设置为UIViewContentModeScaleAspectFit时如何设置UIImageView左对齐或右对齐?

iOS UIButton图像contentMode在TouchUpInside上闪烁

ModalViewController 中的 UIImageView 正在忽略 ContentMode - iPhone

调整动画大小后UIButton不尊重Aspect Fill contentMode