重新初始化故事板嵌入式地图视图 iOS

Reinitializing a storyboard embedded mapview iOS

我在故事板中创建了一个 MKMapview。但是然后在视图控制器的 .m 文件的 viewDidDisappear 方法中,我通过这样做删除了故事板创建的 mapview:

    self.mapView.delegate = nil; 
    [self.mapView removeFromSuperview]; 
    self.mapView = nil;

我想知道是否有办法将地图视图重新初始化为通过故事板初始化的方式。我唯一的选择是使用 initWithFrame: 方式吗?

是的——除非重新加载整个情节提要,否则无法重新初始化其中的任何内容。您是否有理由从其父视图中删除地图视图?清除委托应该足以防止它在屏幕外造成意外影响。

您始终可以通过编程方式初始化 MKMapView:

self.mapView = [[MKMapView alloc] initWithFrame:…];

并以编程方式添加其委托:

self.mapView.delegate = self;

并将其添加到视图中:

[self.view addSubview:self.mapView]