我对IOS应用程序开发有点新意。我有一个地图视图,当用户点击MKMapView时,我想在那里弹出一个文本框,以便用户可以标记该地点。我想出了如何在地图上处理点击事件的部分。但我真的不明白如何在地图上找到文本框。我想我应该使用叠加层,但我不确定如何在叠加层中放置文本框。有人可以给我示例代码将文本框置于叠加层中吗?
这是我处理点击事件的代码,这个叠加显示可能必须进入if循环。
-(void)handleTapOnMap:(UITapGestureRecognizer*)sender
{
if (sender.state == UIGestureRecognizerStateRecognized)
{
NSLog(@"Tapped on the map");
return;
}
else {
return;
}
}
答案 0 :(得分:1)
如果您想添加自定义叠加层,可以在github上看到此project on overlays
或者如果您想自己添加叠加层,则必须创建自定义视图并使用委托方法:
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id )overlay
{
yourOverLayView *view = [[[yourOverLayView alloc] initWithOverlay:overlay] autorelease];
return view;
}
您还可以浏览mkmapview tutorial: