2014-02-25 39 views
0

我需要爲我的最新項目使用MapKit.framework。我在蘋果文檔中看到,基於運行的iOS版本,我需要實現mapView:rendererForOverlay:(iOS7)或mapView:didAddOverlayViews:(自iOS4以來)。我也想支持版本< 7.0。那麼我怎麼能實現基於運行OS的兩個委託方法?實現基於SDK的代理方法

回答

0

在iOS 7之前,實現覆蓋視圖的委託方法是mapView:viewForOverlay:(而不是mapView:didAddOverlayViews:)。

要處理任何iOS版本,您不需要實際檢查代碼中的版本號。

取而代之,只需實現mapView:viewForOverlay:mapView:rendererForOverlay:方法。

當應用程序在低於iOS 7的iOS上運行時,它會調用mapView:viewForOverlay:

當應用程序在iOS 7或更高版本上運行時,它將調用mapView:rendererForOverlay:(如果已實施)。


如果實現mapView:viewForOverlay:,iOS的7目前還是叫老了,過時方法,如果mapView:rendererForOverlay:是不是也執行。

+0

好吧謝謝! – dehlen

相關問題