UIScrollView地图的引脚是否保持固定大小?

时间:2010-03-10 13:37:24

标签: iphone uiscrollview

在我的应用程序中,我有一个显示地图的ScrollView(只是一个jpeg)。 在ScrollView之上,我添加了一些引脚(UIImageView) 到目前为止一切都很好。

但是当我放大时,针脚也会变大。 我希望引脚保持固定的大小,就像iPhone上谷歌地图应用程序上的引脚一样。

我该如何解决这个问题?

谢谢!

2 个答案:

答案 0 :(得分:1)

我已经研究了几天了,我得出的结论是,目前没有好办法做到这一点。

首先,将您的引脚作为UIScrollView的直接子视图。现在它们将保持相同的大小,但在缩放时会移动。

在UIScrollViewDelegate中的操作系统版本> = 3.2中有-scrollViewDidZoom:,您可以在滚动时将引脚更新为正确的坐标,这非常有用。但在3.1中我们运气不好。我尝试使用NSTimer来更新coords,但它在设备上没有效果。

作为一个后备,我做的是在缩放开始时隐藏引脚(viewForZoomingInScrollView),当缩放结束时(scrollViewDidEndZooming)更新它们的坐标并取消隐藏它们。

答案 1 :(得分:1)

创建一个与地图大小相同的容器UIView。将地图添加到UIView,并自动调整灵活的宽度和高度。将所有引脚添加为单独的图像,每个图像都具有灵活的边距。使用容器作为缩放视图。

如果系统自动调整大小不保留保证金比率,那么您可以在自定义容器视图中实现layoutSubviews。