缩放图像小于 UIImageView

Posted

技术标签:

【中文标题】缩放图像小于 UIImageView【英文标题】:Zooming image smaller than UIImageView 【发布时间】:2012-11-08 14:12:25 【问题描述】:

我想要一个比图像更大的框架,所以我做了这样的事情:

当然我有UIScrollViewDelegate,我负责缩放。但是有一个问题。当我缩放图片时,我可以在缩放模式下滚动到这个“蓝色”空白区域。

缩放后,当我的缩放图片宽度大于滚动视图宽度时,我希望用户不能滚动到这个空白空间。我怎样才能做到这一点?

(1) 缩放比例 1.0:

(2) 缩放后移动到边缘:

(3) 我想要的:

编辑: 设置 contentInset 后:

[self.scView setContentInset:UIEdgeInsetsMake(0, -30, 0, -(self.frame.size.width-csc.width/2))];

为什么它向左移动?

【问题讨论】:

【参考方案1】:

可能有一种更简单的方法,但一种可行的方法是对滚动视图使用负 contentInset (UIEdgeInsets)。

【讨论】:

我设置为:[self.scView setContentInset:UIEdgeInsetsMake(0, -100, 0, -100)];image.size.width = 120,所以应该是320全屏App,但是不行。 那很奇怪..当我尝试仅在一侧执行此操作时(` [self.scView setContentInset:UIEdgeInsetsMake(0, 0, 0, -(self.frame.size.width-csc. width/2))];` 它仅适用于这一侧。但是当我在第二个参数上尝试它时,它移动了图像(Q 中的屏幕)。

以上是关于缩放图像小于 UIImageView的主要内容,如果未能解决你的问题,请参考以下文章

在 Flexbox 中居中和缩放图像

php缩放图像裁剪

ImageView contentMode 正确缩放图像?

如果 CALayer 边界如何独立地 CALayer 图像缩放

Android自定义控件之可平移、缩放、旋转图片控件

centerInside 不能将 Drawable 缩放到 ImageView