实现基于SDK的委托方法

时间:2014-02-25 17:29:11

标签: ios iphone objective-c mapkit

我需要使用MapKit.framework来完成我的最新项目。我在苹果文档中看到,基于正在运行的iOS版本,我需要实现mapView:rendererForOverlay:(iOS7)或mapView:didAddOverlayViews:(自iOS4起)。我也想支持版本< 7.0。那么如何基于正在运行的操作系统实现两种委托方法呢?

1 个答案:

答案 0 :(得分:0)

在iOS 7之前,实现叠加视图的委托方法是mapView:viewForOverlay:(不是mapView:didAddOverlayViews:)。

要处理任何iOS版本,您无需在代码中实际检查版本号。

相反,只需实施mapView:viewForOverlay:mapView:rendererForOverlay:方法。

当应用程序在低于iOS 7的iOS上运行时,它将调用mapView:viewForOverlay:

当应用在iOS 7或更高版本上运行时,它会调用mapView:rendererForOverlay:(如果已实施)。


如果您仅实施 mapView:viewForOverlay:,那么当前{em>