我有一个 iPad 应用程序,它有一个基本图像 UIImageView(在这种情况下是一个大型建筑物或场地平面图或图表),然后可以在平面图顶部添加多个“图钉”(视觉上类似于谷歌地图)。这些引脚也是 UIImageViews,并在点击手势时添加到主视图中。基础图像也会添加到 viewDidLoad 的主视图中。
我让基本图像使用捏合手势进行缩放,但显然,当您缩放基本图像时,所有引脚都保持在主视图的相同 x 和 y 坐标中,并在基本图像上松散相对定位(其 x、y 和宽度,高度坐标已更改)。
到目前为止,我有这个...
- (IBAction)planZoom:(UIPinchGestureRecognizer *) recognizer;
{
recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);
recognizer.scale = 1;
for (ZonePin *pin in planContainer.subviews) {
if ([pin isKindOfClass:[ZonePin class]]){
CGRect pinFrame = pin.frame;
// ****************************************
// code to reposition the pins goes here...
// ****************************************
pin.frame = pinFrame;
}
}
}
我需要帮助来计算数学以重新定位引脚 x/y 坐标,以在放大或缩小的计划/图表上保持相对位置。引脚显然不希望在宽度或高度方面进行缩放/缩放 - 它们只需要相对于计划中初始位置的新 x 和 y 坐标。
我自己尝试过计算,但一直在努力解决,不幸的是,我对 SDK 的了解还不够,无法知道是否有内置的可用条款来提供帮助。
非常感谢您对这个数学相关问题的帮助!:)
非常感谢,迈克尔。InNeedOfMathTuition.com