Iphone UIScrollView/UIView缩放问题

Iphone UIScrollView/UIView缩放问题,iphone,uiview,zooming,Iphone,Uiview,Zooming,我的应用程序有一个UIScrollView,其中UIView作为子视图。两个尺寸都一样。scrollView包含一个大图像,子视图是一个“覆盖”视图,其中包含用户点击大图像(地图)时设置的标记。它基本上是一个简单的应用程序,允许在地图上的某些位置设置标记 到目前为止还不错。设置标记并滚动滚动滚动视图(标记保持在地图上的位置)。然而,还有一个问题。放大/缩小时,标记(在覆盖视图中)的位置不正确(放大时标记移动到左上角)。我已经尝试使用convertPoint()方法转换标记位置,但不幸的是没有成功

我的应用程序有一个UIScrollView,其中UIView作为子视图。两个尺寸都一样。scrollView包含一个大图像,子视图是一个“覆盖”视图,其中包含用户点击大图像(地图)时设置的标记。它基本上是一个简单的应用程序,允许在地图上的某些位置设置标记

到目前为止还不错。设置标记并滚动滚动滚动视图(标记保持在地图上的位置)。然而,还有一个问题。放大/缩小时,标记(在覆盖视图中)的位置不正确(放大时标记移动到左上角)。我已经尝试使用convertPoint()方法转换标记位置,但不幸的是没有成功

我的UIView层次结构如下所示:

[mapScrollView addSubview:mapImageView]; // mapScrollView obviously is the scrollview. it holds
                                         // an UIView with an image (map).

[mapScrollView addSubview:mapImageAnnotationView]; // UIView that holds annotations (markers)

[mapImageView addGestureRecognizer:singleTap]; // handle taps
[mapImageView addGestureRecognizer:doubleTap];
[mapImageView addGestureRecognizer:twoFingerTap];

[self addSubview:mapScrollView]; // self is the container UIView that holds the composition
大小/绑定设置:

mapImageView = [[UIImageView alloc] initWithImage: mapImage]; // init with image file
mapScrollView.contentSize = CGSizeMake(mapImageView.frame.size.width,mapImageView.frame.size.height);
mapScrollView.clipsToBounds = YES;

mapImageAnnotationView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, mapImageViewWidth, mapImageViewWidth)];
有人能给我指出解决这个问题的正确方向吗


谢谢

在用于缩放CrollView的委托方法视图中返回哪个视图


您应该将地图和覆盖图放在同一个超级视图中,将超级视图添加到scrollview中,然后在委托方法中返回该超级视图

在委托方法视图中返回哪个视图用于缩放CrollView


您应该将地图和覆盖图放在同一个superview中,将superview添加到scrollview中,然后在委派方法中返回该superview

谢谢您格式化代码AbitobVious谢谢格式化代码AbitobVious我按照您的建议重新构造了我的uiview层次结构,现在它可以工作了!谢谢你,帕库!我很高兴能帮上忙!请接受答案,以便检查您的问题的其他人都知道这一点。;)我按照您的建议重新构建了uiview层次结构,现在它可以工作了!谢谢你,帕库!我很高兴能帮上忙!请接受答案,以便检查您的问题的其他人都知道这一点。;)