如何在我的 mapview(主)控制器中检测到详细视图控制器已被解除?我有一个带有图钉和注释的地图视图。当在任何注释上点击 rightCalloutAccessoryView 时,将通过 performSegueWithIdentifier 调用模态详细视图控制器。顺便说一句,我不知道这是否正确,但主视图控制器和详细视图控制器由导航控制器附加。
我的目标是根据用户对详细视图控制器的操作对地图视图(主视图)采取有条件的操作。具体来说,如果他们已经点击了“移除图钉”功能,我想在控制返回到地图视图时移除图钉。如果他们只是点击完成按钮,那么我希望图钉和注释保留在屏幕上。
以我有限的知识,我可以使用下面的第二行删除图钉,但问题是我可以看到图钉和注释在点击 rightCalloutAccessorView 图标之后和显示详细视图之前立即被删除。所以这意味着如果用户随后点击详细信息屏幕上的“完成”按钮,他们将返回到地图视图,其中已删除了图钉和注释。如果用户点击“删除”按钮,我只希望将其删除。
[self performSegueWithIdentifier:@"PinDetail" sender:self];
[self.mapView removeAnnotation:MA];
所以我的问题真的是:
- 我在哪里输入 removeAnnotation 代码?在当前位置,销钉的移除甚至在详细视图出现之前就已发生。
- 如何检测是否已点击详细视图上的删除按钮?
谢谢。