我的应用程序有一个UIScrollView与UIView作为子视图。两者尺寸相同。 scrollView包含一个大图像,子视图是一个“叠加”视图,用于保存用户在大图像(地图)上点击时设置的标记。它基本上是一个简单的应用程序,允许在地图上的某些位置设置标记。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)];
任何人可以点我到正确的方向来解决这个问题?
感谢
感谢格式化代码aBitObvious – souls