gpt4 book ai didi

ios - 是否可以使用 KVO 来跟踪对 `MKMapView.camera.heading` 属性的更改?

转载 作者:行者123 更新时间:2023-12-01 15:50:36 25 4
gpt4 key购买 nike

我正在尝试使用相机航向属性跟踪 map 方向的变化。

// Register for notifications of changes to camera
if let camera = self.mapView?.camera {
self.camera = camera
camera.addObserver(self, forKeyPath: "heading", options: NSKeyValueObservingOptions.new, context: &MapViewController.myContext)
}

...

override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
if context == &MapViewController.myContext {
if keyPath == "heading" {
if let heading = change?[NSKeyValueChangeKey.newKey] as? CLLocationDirection {
self.heading = heading
}
}
} else {
super.observeValue(forKeyPath: keyPath, of: object, change: change, context: context)
}
}

最佳答案

相机属性模式是复制,因此您观察的不是当前相机实例,而只是观察调用 getter 时复制的相机实例。您需要在 map View 上观察 @"camera.heading"@"camera" 的关键路径,并希望在标题发生变化时在内部设置一个新的相机对象.

关于ios - 是否可以使用 KVO 来跟踪对 `MKMapView.camera.heading` 属性的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40702901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com