UI选项卡栏mapView核心数据更新后刷新

时间:2011-10-17 01:37:29

标签: iphone refresh android-mapview

我有一个包含3个视图的应用。我正在使用标签栏控制器来选择视图。

我目前将地图设置为缩放到包含所有注释的最近位置。但是,当我在视图中更新核心数据时,然后选择选项卡2但注释引脚保持不变。即使我退出应用程序,引脚颜色也相同(它根据数据状态改变颜色)。我可以让它更新的唯一方法是放大,然后退出。

我试过的代码:

[mapView release];

[mapView setNeedsDisplay];

[mapView removeAnnotation:tempAnnotation];

[mapView addAnnotation:tempAnnotation];

CLLocationCoordinate2D center = [mapView centerCoordinate];

[mapView setCenterCoordinate:center];

我甚至将地图集fly设置为坐标2次,一旦放大远,然后再次设置为“正常”缩放级别。

有没有办法在didFinishLoading等上刷新视图?

我可以将其中一个代码片段放在错误的位置吗?

我也在发布传递的数据等

只是标签栏缓存页面?有没有办法强制地图刷新?

谢谢! (我有点像菜鸟,如果你能提供帮助,请明确帮助我理解的步骤)

罗伯特

1 个答案:

答案 0 :(得分:0)

我也将用这个回答我自己的问题:

我看过关于如何重置视图,重绘图层等的帖子。我对语言缺乏经验(相当(不是新的)),所以我所做的就是黑客攻击,但它有效。我希望你能使用它,但是找到更好的解决方案。

查看控制器:

- (void)viewWillAppear:(BOOL)animated {

    [super viewWillAppear:animated];

    mapView.region = MKCoordinateRegionMakeWithDistance([mapView centerCoordinate],2587600.0, 2587600.0);

}

- (void)viewWillDisappear:(BOOL)animated {

    [super viewWillDisappear:animated];

    mapView.region = MKCoordinateRegionMakeWithDistance([mapView centerCoordinate],5.0, 5.0);
}

因此,当视图离开时,以及...视图,然后地图缩放到很远。当视图返回到视图时,数据被重新加载并且瞧。您的里程可能会有所不同,但这种方法可以完美地满足我的需求。

它根本不是一种刺耳的效果。它是无缝的。从UI的角度来看,没有任何变化。

喝彩! 罗伯特