在视图可见之前,是否可以阻止MKMapView加载图块?或者更推迟呢?
我有一些复杂的视图,用户可以使用分段控制在列表视图,照片视图和地图视图之间切换。
默认模式是列表视图,因此照片视图和地图视图的hidden
属性设置为YES
。
但是尽管被隐藏了,我看到MKMapView
每次加载我的复杂视图时都会加载图块:(它会导致非常明显的延迟(~900 ms),我在使用时间分析的工具中确认了这一点。
我尝试继承MKMapView
并覆盖didAddSubview
,willMoveToSuperview
,didMoveToSuperview
,willMoveToWindow
和didMoveToWindow
,希望使用其中任何一项调用捕捉瞬间地图视图真的变得可见。
我还尝试使用MKMapView
的委托方法。不幸的是,在地图视图变得可见之前,他们也会被调用。
你会建议什么?
答案 0 :(得分:0)
在按下分段控件之前,您可能无法创建它。不要在IB中使用它,而是留空空间,当切换控件时,检查mapView是否为nil,如果是,则创建它,将其添加到视图中并按计划继续。