Карта 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

0 ответов

Другие вопросы по тегам