2016-02-25 49 views
3

在點擊和顯示標註在MKMapView上的標註之間幾乎有0.5秒的延遲。點擊一個MKAnnotation來「選擇」它是真的很慢

有沒有人知道爲什麼會出現這種情況,以及當用戶在地圖上點擊時如何使其瞬間響應?

即使在用戶位置註釋點擊時在標註中顯示「當前位置」,也會發生這種情況。我希望它在點擊時立即顯示,沒有奇怪的延遲。

編輯:我認爲這是由於didSelectAnnotationView調用setSelected函數。 setSelected有一個'動畫'屬性,可能會減慢它。我如何消除該動畫?

回答

2

不幸的是,你無能爲力。這與移動Safari瀏覽器中的點擊鏈接速度緩慢完全相同:手勢識別器必須推遲一段時間才能決定是否在滾動(拖動)之前,他們同意您正在點擊。

所以,它與動畫無關。這只是在這種情況下手勢識別的本質。

+0

如果我刪除滾動/拖動/其他手勢怎麼辦? – ARMATAV

+0

或者如果我在每個annotationView的頂部添加一個按鈕並使用它來規定它是否被選中?因爲按鈕沒有爭議問題。 – ARMATAV

+0

如果您正在考慮刪除滾動手勢,那麼爲什麼不關閉'scrollEnabled'和'zoomEnabled'? – matt