Карта iOS 6 не масштабируется с помощью MKUserTrackingModeFollow
Пока мой iOS6 MKMapView
в MKUserTrackingModeFollowWithHeading
или же MKUserTrackingModeFollow
, жесты масштабирования (пинч, двойное касание, касание двумя пальцами) работают иногда, но не всегда.
Проблема возникает, когда didUpdateUserLocation:
называется после regionWillChangeAnimated
и раньше regionDidChangeAnimated
,
Любые идеи о том, как это исправить?
Чтобы изолировать проблемы, я создал приложение Single View с MKMapView
и UIToolbar
(настроенный в.xib), к которому я добавляю MKUserTrackingBarButtonItem
, UIViewController
действует как <MKMapViewDelegate>
, Вот полный код реализации:
#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 <MKMapViewDelegate>
}
#pragma mark - etc
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
@end