我正在开发一个带滚动视图的1视图应用,在左右滑动时显示2个屏幕!!直到这里一切正常...
第一个屏幕包含一些图像和其他标签。 第二个屏幕显示了用户位置和反向地理编码信息的地图视图,我设法激活!!!
问题是:当我滑回屏幕1时,如何阻止该位置在后台运行。我认为必须有一个函数可以应用于secondView.swift取消位置管理器所以我可以省电!
答案 0 :(得分:0)
嗨卡洛斯,欢迎来到SO!在您的第二个视图中,我假设您有一个CLLocationManager
。因此,每当视图控制器被解除时,都会调用一个名为viewWillDisappear
的方法,此处您可以通过调用locationManager.stopUpdatingLocation()
使位置管理器无效。它看起来像这一切
class SecondView, CLLocationManagerDelegate {
var locationManager: CLLocationManager!
override func viewDidLoad() {
super.viewDidLoad()
//set up view, get user location, show on map, etc.
}
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
self.locationManager.stopUpdatingLocation()
}
}
另一个选择就是在您获得用户的位置后立即执行此操作。