2010-03-10 56 views
1

在我的应用程序中,我有一个显示地图(只是一个jpeg)的ScrollView。 在ScrollView之上,我添加了一些引脚(UIImageView) 到目前为止这么好。UIScrollView地图的引脚保持固定大小?

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

我该如何解决这个问题?

谢谢!

+0

看看以前几乎完全相同的问题here Andiih 2010-03-10 19:42:17

回答

1

我一直在寻找这几天,我得出结论,目前没有好的方法来做到这一点。

首先,把你的针脚作为UIScrollView的直接子视图。现在他们将保持相同的尺寸,但是在放大时会移动。

在UIScrollViewDelegate中的操作系统版本> = 3.2中有-scrollViewDidZoom :,在这里你可以将引脚更新为正确的坐标,因为它滚动,这很好。但在3.1中,我们运气不佳。我试着让NSTimer进行更新,而不是在设备上执行。

作为后备我做的是在缩放开始时(viewForZoomingInScrollView)和缩放结束时(scrollViewDidEndZooming)更新其坐标并取消隐藏。

1

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

如果系统自动调整大小不保留空白率,则可以在自定义容器视图中实现layoutSubviews。

+0

嗯,我做到了这一点,我的容器的所有子视图都调整了大小。不完美,因为我希望我的针脚位置保持不变,因为它的尺寸看起来一样。用你的方式,框架是好的,但尺寸也改变了...... – Vassily 2012-07-20 12:06:01