是否有可能阻止MKMapView加载图块,直到视图可见?

时间:2013-09-08 22:30:19

标签: ios objective-c ios6 mkmapview lag

在视图可见之前,是否可以阻止MKMapView加载图块?或者更推迟呢?

我有一些复杂的视图,用户可以使用分段控制在列表视图,照片视图和地图视图之间切换。

默认模式是列表视图,因此照片视图和地图视图的hidden属性设置为YES

但是尽管被隐藏了,我看到MKMapView每次加载我的复杂视图时都会加载图块:(它会导致非常明显的延迟(~900 ms),我在使用时间分析的工具中确认了这一点。

我尝试继承MKMapView并覆盖didAddSubviewwillMoveToSuperviewdidMoveToSuperviewwillMoveToWindowdidMoveToWindow,希望使用其中任何一项调用捕捉瞬间地图视图真的变得可见。

我还尝试使用MKMapView的委托方法。不幸的是,在地图视图变得可见之前,他们也会被调用。

你会建议什么?

1 个答案:

答案 0 :(得分:0)

在按下分段控件之前,您可能无法创建它。不要在IB中使用它,而是留空空间,当切换控件时,检查mapView是否为nil,如果是,则创建它,将其添加到视图中并按计划继续。