如何在不缩放iPhone中的子视图的情况下缩放图像?

我有一个UIImageView init的滚动视图。我在UIImageView上添加一个按钮。当我缩放图像然后我的按钮也执行缩放。我怎么只能缩放图像而不是按钮。谢谢你的时间。

在此处输入图像描述

放置按钮和您不希望受UIScrollView影响的任何其他视图,放大与UIScrollView相同级别的视图。 这是为此目的而设置的示例视图层次结构。

在此处输入图像描述

滚动视图及其中的任何内容都将缩放(在本例中为“图像视图”)。 在下面的UIView中,滚动视图(在这种情况下,带有Default.png图像的图像视图)在缩放滚动视图时不会缩放。

编辑:

要使按钮保持在相对于图像的相同位置,将其作为子视图添加到滚动视图,将UIScrollViewDelegate添加到视图控制器头。 在视图控制器实现中:捕获viewWillAppear的初始UIButton帧,并使用滚动视图委托scrollViewDidZoom方法更新按钮帧以使其保持原位。 这也将允许按钮在平移时随图像移动。

这是更新的视图结构:

在此处输入图像描述

适用的视图控制器代码段:

 @interface MyViewController () { CGRect initialButtonFrame; ... } -(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; initialButtonFrame = self.button.frame; ... } - (void)scrollViewDidZoom:(UIScrollView *)sv { self.button.frame = CGRectMake((initialButtonFrame.origin.x * self.scrollView.zoomScale), (initialButtonFrame.origin.y * self.scrollView.zoomScale), initialButtonFrame.size.width, initialButtonFrame.size.height); ... } 

这是一些图像,显示按钮相对于其在图像中的位置而保持在适当位置。 请注意,当未放大(第一张图像)和放大(第二张图像)时,按钮原点靠近消防员外套中心底部附近红色区域的左上角。

在此处输入图像描述

在此处输入图像描述

imageScrollView之后添加imageScrollView imageScrollView上的按钮,使按钮不是滚动视图的子视图。