Iphone 单击“我的地图标注”时不显示图像

Iphone 单击“我的地图标注”时不显示图像,iphone,uiviewcontroller,mapkit,uistoryboard,Iphone,Uiviewcontroller,Mapkit,Uistoryboard,我正在为一个大学项目开发一个iPhone应用程序,我是iPhone开发新手。我已经浏览了苹果的MapCallout代码,但实现它似乎并不可行 到目前为止,我的代码显示地图,删除注释,显示标题,并显示右调出按钮。但这就是我遇到问题的地方 当我按下callout按钮时,它会显示一个空白的视图控制器,但它应该为每个点击的callout显示一个不同的图像,目前为止还没有出现这种情况 我在下面添加了我的代码: 如果您使用的是故事板,那么您应该已经有了一个视图控制器。我假设您的代码位于视图控制器是其实例的类

我正在为一个大学项目开发一个iPhone应用程序,我是iPhone开发新手。我已经浏览了苹果的MapCallout代码,但实现它似乎并不可行

到目前为止,我的代码显示地图,删除注释,显示标题,并显示右调出按钮。但这就是我遇到问题的地方

当我按下callout按钮时,它会显示一个空白的视图控制器,但它应该为每个点击的callout显示一个不同的图像,目前为止还没有出现这种情况

我在下面添加了我的代码:


如果您使用的是故事板,那么您应该已经有了一个视图控制器。我假设您的代码位于视图控制器是其实例的类中

显示图像所需编码最少的最简单方法是:

将视图控制器拖动到情节提要中 将UIImageView拖动到视图控制器中 选择要在UIImageview的属性编辑器中显示的图像 控件从主视图控制器中的按钮拖动到包含图像的视图控制器 这本应该创建一个segue。选择segue并从“样式”菜单中选择“模态”
你可以对你想要的每一张图片都这样做,但它是杂乱无章的。还可以考虑对图像控制器进行子类分类,并以编程方式定义要显示的图像。如果要使用“关闭模式视图控制器”方法关闭图像,可能仍需要执行此操作。另一种方法是添加另一个指向后的序列。

显示按下callout按钮时调用的方法。编辑您的问题并添加代码。是否显示detailController?还要注意,如果detailController为nil,则当前代码将推送两次。这是您拥有的detailController和detailViewController的实际代码吗?与尝试使用标记标识注释不同,它可以直接在view.annotation中使用。例如,请参阅,当我运行应用程序时,当点击呼叫附件时,视图正在加载,但它会在图像应位于的位置显示一个黑色的空白屏幕,并且我还收到以下错误:应用程序试图在目标上推送一个无视图控制器是否使用推送或presentModal是UI选择,而不是编码要求。该错误可能是由方法detailController中的第二次推送导致的,该方法必须为零。在担心注释图像之前,您应该先解决故事板/推送问题。我没有使用故事板,所以我不能给出具体的建议。好的,我会尝试解决这个问题。
- (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];
}