如何解决没有从函数调用mapView setRegion
| 我的头文件:@interface MapViewController : UIViewController <MKMapViewDelegate,NSFetchedResultsControllerDelegate>
{
MKMapView *mapView;
NSFetchedResultsController *fetchedResultsController;
NSManagedObjectContext *managedObjectContext;
}
@property (nonatomic,retain) MKMapView *mapView;
@property (nonatomic,retain) NSFetchedResultsController *fetchedResultsController;
@property (nonatomic,retain) NSManagedObjectContext *managedObjectContext;
我也在.m文件中进行合成。
在我的viewDidLoad函数中,我有这个(视图通过父控制器中的动画淡入):
- (void)viewDidLoad
{
[super viewDidLoad];
mapView = [[MKMapView alloc] initWithFrame:self.view.frame];
mapView.mapType = MKMapTypeSatellite;
mapView.delegate = self;
self.view = mapView;
[self.view setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight];
self.view.alpha = 0.0;
MKCoordinateRegion region;
MKCoordinateSpan span;
region.center.latitude = 42.764705;
region.center.longitude = -94.047375;
span.latitudeDelta=.02;
span.longitudeDelta=.02;
region.span = span;
[mapView setRegion:region animated:YES];
NSLog(@\"Change this1\");
}
这很好。
我还有另一个功能:
- (void)setInitialMapView
{
MKCoordinateRegion region;
MKCoordinateSpan span;
region.center.latitude = 32.764705;
region.center.longitude = -84.047375;
span.latitudeDelta=50.0;
span.longitudeDelta=50.0;
region.span = span;
[mapView setRegion:region animated:YES];
NSLog(@\"Change this 2\");
}
动画制作完成后,我将其称为第二个函数。
第二个功能不会更改地图的区域,但会打印到日志。因此正在调用该函数。
我在这里做错了什么?
解决方法
不知道这是否是您的问题的根源,但绝对似乎是,或者可能是在促成...
您的viewDidLoad中的这一行不好:
self.view = mapView;
我建议使用addSubview将地图视图添加为self.view的子视图(docs)
我不知道做你做过的事会对你有什么影响……但是我有一种感觉,那就是他们不好。
如果您需要使根视图成为MKMapView,我相信这应该在loadView方法中完成,如此处所述。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。