RegionDidChangeAnimated делегат mkMapView запущен дважды при загрузке вкладки - PullRequest
3 голосов
/ 25 февраля 2011

У меня есть TabView, и одна из моих вкладок содержит mapView. Когда я по какой-то причине загружаю вкладку с mapView, regionDidChangeAnimated вызывается дважды. Я поместил точки останова в каждую другую функцию и отключил их запуск, так что буквально вытащил пустую карту. Тем не менее, regionDidChangeAnimated вызывается дважды. Есть идеи, почему это может быть?

Вот код:

SecondViewController.h:

#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
@interface SecondViewController : UIViewController<MKMapViewDelegate> 
{IBOutlet MKMapView *mapView;}
@end

SecondViewController.m

#import "SecondViewController.h"
@implementation SecondViewController

- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated
{
    //[self showTowers];
    NSLog(@"regionDidChangeAnimated");
}

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    return self;
}

- (void)dealloc {
    [super dealloc];
}

1 Ответ

0 голосов
/ 24 августа 2012

Я почти уверен, что это происходит из-за автоматического изменения размера представления.Попробуйте реализовать - (void)viewWillLayoutSubviews в своем контроллере представления и зарегистрируйте, как часто это называется.

...