2010-03-10 53 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