我正在为大学项目开发一个iPhone应用程序,我是iPhone开发的新手。我查看了Apple的MapCallouts代码,但实现它似乎不太可行。
到目前为止,我的代码显示地图,删除注释,显示标题,并显示正确的呼出按钮。但这是我遇到问题的地方。
当我按下标注按钮时,它会显示一个空白视图控制器,但它应该为每个被点击的标注显示不同的图像,到目前为止这种情况不会发生。
我在下面添加了我的代码:
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view
calloutAccessoryControlTapped:(UIControl *)control
{
//NSUInteger tag = ((UIButton *)control).tag;
if (self.detailController==nil)
{
DetailViewController* detailViewController = [[DetailViewController alloc] init];
[self.navigationController pushViewController:detailViewController animated:YES];
}
// self.detailController.tag =1; //to identify image required
// self.detailController.tag = tag;
[self.navigationController pushViewController:detailController animated:YES];
}
答案 0 :(得分:0)
如果您使用的是故事板,那么您应该已经拥有了一个视图控制器。我假设您的代码在视图控制器是其实例的类中。
呈现图像的最简单(需要最少编码)方式是:
您可以为所需的每张图片执行此操作,但这很麻烦。还要考虑对图像控制器进行子类化,并以编程方式定义要显示的图像。如果要使用关闭模态视图控制器方法关闭图像,则无论如何都可能需要执行此操作。替代方案是添加另一个指向后方的segue。