【发布时间】:2011-05-29 17:45:20
【问题描述】:
基本上我想要完成的是一个增强现实应用程序。我有地图视图和增强现实视图。
当用户只查看地图视图然后返回 UINavigation 堆栈中的上一页时,所有位置服务都将停止并且箭头工具栏通知消失。当用户离开地图视图并以模态方式呈现 UIImagePickerController 时,即使在用户按下负责停止所有位置服务并弹出当前视图的按钮后,位置服务通知仍将保留。
我知道不是我的 CLLocationManager 导致了问题,因为正如我所说,当 UIImagePicker 从未放在屏幕上时不会发生错误。我的想法是,即使我在弹出当前视图之前关闭了模态视图,用于地理定位或相机使用它们的任何位置服务都不会停止。
对于我的生活,我无法弄清楚他们为什么不停止,如果有人可能知道为什么这将是一个巨大的帮助。
这是我现在在准备从 UINavigation 堆栈弹出视图的方法中的代码
[_locationManager setDelegate:nil];
[_locationManager stopUpdatingLocation];
[_locationManager stopUpdatingHeading];
[[UIAccelerometer sharedAccelerometer] setDelegate:nil];
if (_imagePickerOn){
[self dismissModalViewControllerAnimated:YES];
_imagePickerOn = FALSE;
}
--编辑-- 这是我展示图像选择器的方法,非常基本:
- (IBAction) cameraButtonPressed{
_imagePickerOn = TRUE;
[self presentModalViewController:_imagePicker animated:NO];
}
【问题讨论】:
-
你能发布你呈现
UIImagePickerController对象的方法吗? -
你去吧,我将它添加到原始问题中,该方法仅在用户想要离开地图视图并转到增强现实视图时才被调用,并且只有在按下该按钮之后出现问题。我在 viewDidLoad 方法中初始化 imagepicker
-
不清楚按钮是map view的一部分还是image picker view的一部分?您发布的原始代码是在点击按钮时调用的,对吧?
-
调用 presentmodalview 的按钮在持有地图视图的 UIView 上。当地图视图或图像选择器视图按下“停止”时,我发布的原始代码块被调用
标签: iphone ios uiimagepickercontroller cllocationmanager