iOS 6地图不会使用MKUserTrackingModeFollow进行缩放

虽然我的iOS6 MKMapViewMKUserTrackingModeFollowWithHeadingMKUserTrackingModeFollow ,但有时缩放手势(捏,双击,双指敲击)工作,但并非总是如此。

didUpdateUserLocation: 之后regionDidChangeAnimated 之前调用didUpdateUserLocation:时,似乎会出现此问题。

有想法该怎么解决这个吗?

为了隔离这些问题,我创建了一个带有MKMapViewUIToolbar (在MKUserTrackingBarButtonItem设置)的单视图应用程序,我正在添加一个MKUserTrackingBarButtonItemUIViewController充当 。 这是完整的实现代码:

 #import "ViewController.h" @implementation ViewController @synthesize mapView, toolbar; - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [self.mapView setDelegate:self]; MKUserTrackingBarButtonItem *trackButton = [[MKUserTrackingBarButtonItem alloc] initWithMapView:self.mapView]; [toolbar setItems:[NSArray arrayWithObjects:trackButton, nil] animated:YES]; } #pragma mark - MKMapViewDelegate - (void)mapView:(MKMapView *)mapView regionWillChangeAnimated:(BOOL)animated { NSLog(@"regionWillChange >>"); } - (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated { NSLog(@"<< regionDidChange"); } - (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation { NSLog(@"-- didUpdateUserLocation --"); } - (void)mapView:(MKMapView *)mapView didChangeUserTrackingMode:(MKUserTrackingMode)mode animated:(BOOL)animated { // required for  } #pragma mark - etc - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } @end