iOS 6地图不会使用MKUserTrackingModeFollow进行缩放
虽然我的iOS6 MKMapView
在MKUserTrackingModeFollowWithHeading
或MKUserTrackingModeFollow
,但有时缩放手势(捏,双击,双指敲击)工作,但并非总是如此。
在didUpdateUserLocation:
之后和regionDidChangeAnimated
之前调用didUpdateUserLocation:
时,似乎会出现此问题。
有想法该怎么解决这个吗?
为了隔离这些问题,我创建了一个带有MKMapView
和UIToolbar
(在MKUserTrackingBarButtonItem
设置)的单视图应用程序,我正在添加一个MKUserTrackingBarButtonItem
。 UIViewController
充当 。 这是完整的实现代码:
#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