1

是否可以阻止 MKMapView 在视图可见之前加载图块?还是推迟它?

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

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

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

我尝试继承MKMapView和覆盖didAddSubview, willMoveToSuperview, didMoveToSuperview,willMoveToWindowdidMoveToWindow希望使用这些调用中的任何一个来捕捉地图视图真正变得可见的时刻。

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

你有什么建议?

4

1 回答 1

0

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

于 2013-09-09T04:15:28.960 回答