【问题标题】:setNeedsDisplayInMapRect - Deprecated iOS7setNeedsDisplayInMapRect - 已弃用的 iOS7
【发布时间】:2014-01-05 14:00:29
【问题描述】:

我目前正在尝试使用 Apple example Breadcrumb 来跟踪并绘制用户所在的路径。

已将基本 SDK 更新到 7,它提醒我 setNeedsDisplayInMapRect 自 iOS 7 起已弃用。 我查看了参考文档,他们建议将其替换为 MKOverlayRenderer

由于这对我来说是全新的,我正在努力完全掌握如何交换它。有没有人有这方面的经验,可以解释一下怎么做?

【问题讨论】:

    标签: ios ios7 deprecated


    【解决方案1】:

    将 CrumPathView 父类从 MKOverlayView(iOS 7.0 上已弃用)更改为 MKOverlayRenderer(iOS 7.0 及更高版本),因为这两个类公开了相同的方法,并在 MKOverlayRenderer 中引入了几个新的额外方法。

    按照 MKMapViewDelegate 的方法(iOS 7.0 及更高版本可用)实现已弃用的替代方法

    // Deprecated in iOS 7.0
    - (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay
    
    // Method to replace above deprecated method (available in iOS 7.0)
    - (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id < MKOverlay >)overlay
    

    【讨论】:

    • 感谢 ldindu - 比我预期的要简单得多!
    • @ldindu 非常感谢,您的回答拯救了我的一天。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    相关资源
    最近更新 更多