【问题标题】:MKOverlayView drawMapRect:zoomScale:inContext: when is it called?MKOverlayView drawMapRect:zoomScale:inContext: 什么时候调用?
【发布时间】:2012-04-10 07:12:36
【问题描述】:

我正在检查面包屑示例:

http://developer.apple.com/library/ios/#samplecode/Breadcrumb/Introduction/Intro.html

在 iphone 模拟器上,如果我从 MKMapView 模拟初始美国视图之外的某个地方,drawMapRect:zoomScale:inContext: 在它应该绘制某些东西时不会被调用。

这是为什么呢?什么时候调用该方法?我该怎么做才能让它发挥作用?

【问题讨论】:

    标签: ios5 mkmapview mkannotation


    【解决方案1】:

    这是因为限制设置为在当前位置周围显示高度和宽度为世界大小四分之一的区域内的路线。

    在 CrumbPath.m 中检查此代码

    // bite off up to 1/4 of the world to draw into.
        MKMapPoint origin = points[0];
        origin.x -= MKMapSizeWorld.width / 8.0;
        origin.y -= MKMapSizeWorld.height / 8.0;
        MKMapSize size = MKMapSizeWorld;
        size.width /= 4.0;
        size.height /= 4.0;
        boundingMapRect = (MKMapRect) { origin, size };
        MKMapRect worldRect = MKMapRectMake(0, 0, MKMapSizeWorld.width, MKMapSizeWorld.height);
        boundingMapRect = MKMapRectIntersection(boundingMapRect, worldRect);
    

    【讨论】:

      【解决方案2】:

      您使用的是哪个版本的 xCode?

      这些是应用程序的要求:

      构建要求:

      iOS 5.0 SDK 或更高版本

      运行时要求:

      iOS 4.0 或更高版本

      【讨论】:

      • X 代码 4.3.2。我不知道为什么它有时有效,有时无效。
      • 在我自己的应用程序上,由于某种原因,它实现了相同的逻辑工作正常。
      猜你喜欢
      • 2019-12-25
      • 2014-03-27
      • 2010-10-18
      • 2016-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多