我已经滚动视图用的UIImageView init.I加上UIImageView.When一个按钮,我缩放图像,然后我的按钮也进行zooming.How我只能放大图像而不是button.Thanks提前为您的时间。
Answer 1:
放置按钮,你不想被影响的其他意见UIScrollView
在同一水平的一个视图缩放UIScrollView
。 下面是成立只是这一目的的示例图层级。
滚动视图和任何在它里面会放大(在这种情况下,图像视图)。 在滚动视图下方的UIView的(在这种情况下,与为Default.png图像的图像视图)将不会当滚动视图被放大缩放。
编辑:
要使按钮保持相对于图像的相同位置,将其添加为子视图滚动视图,添加UIScrollViewDelegate
到您的视图控制器头。 在你看来控制器实现:捕获初始UIButton
帧viewWillAppear
,并使用滚动视图代表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);
...
}
这里有几个显示按钮停留在相对的地方,它的图像中的位置的图像。 注意按钮原点附近的消防员外套的中央下方的红色区域的左上角附近时不缩放(第1图像),当放大(图2)。
Answer 2:
添加该按钮上imageScrollView
上海华后imageScrollView
使按钮不滚动视图的子视图。
文章来源: How to zoom an image without zooming sub views in iPhone?