我有一个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];
}
最佳答案
我很确定这是由于自动调整视图大小而发生的。尝试在视图控制器中实现- (void)viewWillLayoutSubviews
并记录其调用频率。
关于iphone - 标签加载时,mkMapView的regionDidChangeAnimated委托(delegate)被触发了两次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5114328/