小编Ric*_*hie的帖子

MKMapView每次加载其视图时都会占用大量内存

我有一个非常简单的应用程序,有几个视图控制器.第二个视图控制器中有一个MKMapView.它设置正确,功能正常.问题是,每次加载它的视图时,内存使用量会跳跃~30mb,并且永远不会回落,所以每次进入视图时它都会继续跳跃并最终变得超高.当我离开控制器时我尝试删除地图视图:

override func viewWillDisappear(animated: Bool) {
        map.removeFromSuperview()
    }
Run Code Online (Sandbox Code Playgroud)

但它对记忆没有任何影响.地图视图委托设置为其视图控制器.

我尝试使用Xcode仪器检查泄漏,但没有找到任何东西.

有谁知道如何解决这一问题?

谢谢

编辑:添加这似乎工作:

func removeNastyMapMemory() {
        map.mapType = MKMapType.Hybrid
        map.delegate = nil
        map.removeFromSuperview()
        map = nil
    }

    override func viewWillDisappear(animated: Bool) {
        removeNastyMapMemory()
    }
Run Code Online (Sandbox Code Playgroud)

xcode mkmapview ios swift

9
推荐指数
1
解决办法
5029
查看次数

MapView注释中较长的字幕(swift)

我有一个带注释的mapView,显示标题和副标题.字幕有时长于注释的宽度,所以我想知道我是否可以使它们成为多线?它到目前为止编码如此:

func annotate(newCoordinate, title: String, subtitle: String) {
    let annotation = MKPointAnnotation()
    annotation.coordinate = newCoordinate
    annotation.title = title
    annotation.subtitle = subtitle
    self.map.addAnnotation(annotation)    
}
Run Code Online (Sandbox Code Playgroud)

然后我有几个选项

func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? {...}
Run Code Online (Sandbox Code Playgroud)

这里没有关系.

是否可以制作自定义注释视图?我尝试了几件事,但没有任何效果.我能得到的最接近的是添加一个按钮来分别显示较长的字幕,但我宁愿把它放在注释中.

可能吗?

mapkit mkannotation ios mkpointannotation swift

2
推荐指数
1
解决办法
2540
查看次数

标签 统计

ios ×2

swift ×2

mapkit ×1

mkannotation ×1

mkmapview ×1

mkpointannotation ×1

xcode ×1