在情节提要中,我有一个与视图控制器相关的导航控制器。
视图控制器包含一个 MKMapView。
View Controller 也在 Identity Inspector -> Custom Class 中设置为自定义控制器:MapViewController。
这是 MapViewController.h
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
#import <CoreLocation/CoreLocation.h>
#import "MarkerAnnotation.h"
#import "MarkerButton.h"
#import "MainMapView.h"
@interface MapViewController : UITableViewController <MKMapViewDelegate, CLLocationManagerDelegate>
@property (weak, nonatomic) IBOutlet MKMapView *localMapView;
@end
localMapView 通过“引用插座”链接到故事板上 ViewController 中的 MKMapView,我已经在 .m 文件的代码中使用它来设置注释或获取“bounds.origin”。
每次用户移动地图时,我都需要运行一些行来更新地图。因此,我尝试在 .m 文件上实现 mapView:regionDidChangeAnimated: ,但这从未被调用过。
- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated
{
NSLog(@"Region changed");
}
我尝试创建一个自定义子类 MKMapView 在该类上实现该方法,但也没有被调用。(您仍然可以在.h 文件的导入中看到 MainMapView.h ......我仍然没有删除导入)
有什么我想念的吗?我是否必须在地图和当前班级之间设置更多连接?
否则,是否有另一种方法可以在每次地图移动时触发事件?