Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何在滚动视图中停止用户位置_Swift_Location_Scrollview - Fatal编程技术网

Swift 如何在滚动视图中停止用户位置

Swift 如何在滚动视图中停止用户位置,swift,location,scrollview,Swift,Location,Scrollview,我正在开发一个带有滚动视图的1视图应用程序,在左右滑动时显示2个屏幕!!,直到这里一切都好 第一个屏幕包含一些图像和其他标签。 第二屏显示用户位置和反向地理编码信息的地图视图,我设法激活了 问题是:当我滑回屏幕1时,如何阻止位置在后台运行。我假设必须有一个功能,我可以应用到secondView.swift取消位置管理器,这样我可以节省电池 你好,卡洛斯,欢迎来到SO!在您的第二种观点中,我假设您有一个CLLocationManager。因此,每当视图控制器被解除时,都会调用一个名为ViewWil

我正在开发一个带有滚动视图的1视图应用程序,在左右滑动时显示2个屏幕!!,直到这里一切都好

第一个屏幕包含一些图像和其他标签。 第二屏显示用户位置和反向地理编码信息的地图视图,我设法激活了


问题是:当我滑回屏幕1时,如何阻止位置在后台运行。我假设必须有一个功能,我可以应用到secondView.swift取消位置管理器,这样我可以节省电池

你好,卡洛斯,欢迎来到SO!在您的第二种观点中,我假设您有一个CLLocationManager。因此,每当视图控制器被解除时,都会调用一个名为ViewWillEnglish的方法,在这里,您可以通过调用locationManager.StopUpdateLocation使位置管理器无效。这一切看起来都是这样

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()
    }

}

另一种选择是,只要获得用户的位置,就立即执行此操作

这就是我所怀疑的,但是它不起作用,控制台做了一个注释:override func ViewWillEnglish{self.locationManager.StopUpdateingLocation}方法不重写其超类中的任何方法;我不知道为什么。无论如何,谢谢PBUSH25一旦此视图消失,状态栏上的位置图标是否应该删除?在我的情况下,继续。。。再次感谢您使用UIViewController?我修复了语法错误,如:override func ViewWillObsearAnimated:Bool{locationManager.StopUpdatengLocation},它删除了错误,但是我不确定它是否工作,因为位置图标三角形在应用程序的屏幕1中仍然可见,我不确定这是否是因为我在info.plist中使用应用程序时将应用程序设置为访问该位置。谢谢,抱歉语法错误,忘了你刚刚开始。如果这不起作用,您可以尝试告诉位置管理器停止更新获取位置的函数。这是一旦你得到位置经理将无效,直到你告诉它再次获得位置。