您好我的应用程序中有一个地图视图页面,我显示200 +标记。
我现在用
启动这些MapViewAnnotation *newAnnotation = [[MapViewAnnotation alloc] initWithTitle:currentobjectarray.title andCoordinate:location];
单击标记时会生成文本标签。如何在注释视图中添加一个按钮,以便在单击时可以导航到所选标记的“更多信息”页面?它是我不确定的按钮部分。
任何帮助非常感谢
答案 0 :(得分:2)
您需要创建UIButton
并将其分配给MKAnnotationView的rightCalloutAccessoryView
属性。
在mapView:viewForAnnotation:
方法中,您将返回自定义MKAnnotationView
实例,请插入此代码以创建按钮并将其与操作相关联。
我认为您的MKAnnotationView
实例名为annotationView
,并且您要调用的方法是presentMoreInfo
。
UIButton * disclosureButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[disclosureButton addTarget:self
action:@selector(presentMoreInfo)
forControlEvents:UIControlEventTouchUpInside];
annotationView.rightCalloutAccessoryView = disclosureButton;
您的presentMoreInfo
方法可能类似于
- (void)presentMoreInfo {
DetailsViewController * detailsVC = [DetailsViewController new];
//configure your view controller
//...
[self.navigationController pushViewController:detailsVC animated:YES];
}