Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.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
Ios 未调用didUpdateUserLocation重新加载视图_Ios_Objective C_Mkmapview - Fatal编程技术网

Ios 未调用didUpdateUserLocation重新加载视图

Ios 未调用didUpdateUserLocation重新加载视图,ios,objective-c,mkmapview,Ios,Objective C,Mkmapview,我在导航控制器中有一个mapViewController。当我第一次打开它时,在viewDidLoad之后,-voidmapView:MKMapView*mapView didUpdateUserLocation:MKUserLocation*userLocation被调用 当我返回到上一个viewController并再次返回mapViewController时,不会调用didUpdateUserLocation委托,因此不会显示注释 请帮我找到这个问题的解决办法。谢谢。在中调用此方法-视图将

我在导航控制器中有一个mapViewController。当我第一次打开它时,在viewDidLoad之后,-voidmapView:MKMapView*mapView didUpdateUserLocation:MKUserLocation*userLocation被调用

当我返回到上一个viewController并再次返回mapViewController时,不会调用didUpdateUserLocation委托,因此不会显示注释


请帮我找到这个问题的解决办法。谢谢。

在中调用此方法-视图将显示同一类的方法

[locationManager startUpdatingLocation];

如果希望地图视图继续跟踪用户的位置并定期更新,则应将“地图视图显示位置”设置为“是”,默认值为“否”

试一试


Apple Doc:

您在哪里设置您的代理?您确认您的委托设置正确吗?@IWASROBED:在viewDidLoad中,我将委托设置为self.mapView.delegate=self;有什么问题吗?如果您也在不同的视图控制器中设置委托,那么如果您立即返回到刚才忽略的视图,则可能不会再次调用viewDidLoad方法。请尝试在ViewWillAspect方法中进行设置instead@iWasRobbed:尝试了您所说的,但返回mapView时仍未调用didUpdateUserLocation。事实上,我注意到我的viewwillbeen甚至没有被调用一次。没有工作。实际上,我的viewwillbeen也没有被调用。有什么想法吗?关于你的视图问题,
- (void)viewWillAppear:(BOOL)animated 
{    
    [super viewWillAppear:animated];
    ...
    [mapView setShowsUserLocation: YES];
}

- (void)viewWillDisappear:(BOOL)animated 
{
    [super viewWillDisappear:animated];
    ...
    [mapView setShowsUserLocation: NO];
}