按下缩放按钮时如何缩放滚动视图的图像?

Posted

技术标签:

【中文标题】按下缩放按钮时如何缩放滚动视图的图像?【英文标题】:How to Zoom Image of Scrollview when Zoom Button was Pressed? 【发布时间】:2014-11-11 07:44:56 【问题描述】:

我是 ios 开发的新手,我想要一个带有 UIScrollview 的图片库,并且我想在按下缩放按钮时缩放图像,初始我的 Scrollview 大小就像

self.zoomScroll.frame=CGRectMake(10, 45, 300, 270);

我在我的视图中添加一个缩放按钮,当它被按下时,我将滚动视图大小设置为

self.zoomScroll.frame=CGRectMake(10, 40, 300, 400);

然后滚动视图以新大小显示,但滚动视图内的图像处于初始大小意味着图像不采用新大小。我的图像视图大小就像

bigImage.bounds=CGRectMake(0, 0, self.zoomScroll.frame.size.width +10.0f, self.zoomScroll.frame.size.height);
bigImage.frame=CGRectMake(index * self.zoomScroll.frame.size.width, 0, self.zoomScroll.frame.size.width, self.zoomScroll.frame.size.height);

这里我的 imageview 不是全局声明的,它是本地声明的,所以我无法使用 scrollviewZoom 方法,请在按下缩放按钮时为我提供缩放图像的解决方案。

【问题讨论】:

您要缩放图像吗?? 你是不是在改变滚动视图的大小后也设置了imageView的大小?由于您是从scrollView计算imageView的大小,如果您在设置滚动视图大小后设置图像视图的大小,则应该更新它。 我想在按下缩放按钮时缩放图像#Saurabh Prajapati #Antenehs 我声明 imageview 不是全局的,所以当按下缩放按钮时我无法更改 Imageview 的大小 【参考方案1】:

请检查这是否对您有用,至于我的应用需求,我正在使用它。

首先,如果您将 imageViews 添加到 scrollView,然后在将每个 imageView 添加到 scrollView 之前设置每个 imageView 的 tag 属性的值,如果您为要添加的所有 imageViews 的 tag 属性设置相同的值,则可以滚动视图。

然后如下添加UIScrollView的delegate方法并检查,

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView 

    return [scrollView viewWithTag:<valueOfTagPropertySetToImageView>];

【讨论】:

以上是关于按下缩放按钮时如何缩放滚动视图的图像?的主要内容,如果未能解决你的问题,请参考以下文章

缩放时,UIScrollview 子视图无法识别手势

如何在 iOS 的分页滚动视图中缩放图像?

swift - 如何在多个页面中快速缩放图像

在 iPhone 中使用缩放图像翻转滚动视图

Xcode:在滚动视图中缩放图像

在滚动视图中使用自动布局缩放图像如何居中?