iphone – 如何自定义标注气泡MKAnnotationView?

我目前使用的mapkit和卡住。

我有一个自定义注释视图,我使用,我想使用image属性来显示地图上的点与我自己的图标。我有这个工作罚款。但我还想做的是重写默认的标注视图(当注释图标被触摸时,标题/字幕显示的气泡)。我想要能够控制标注本身:mapkit只提供访问左和右辅助标注视图,但没有办法提供自定义视图的标注气泡,或给它零大小,或任何其他。

我的想法是重写我的MKMapViewDelegate中的selectAnnotation / deselectAnnotation,然后通过调用我的自定义注释视图来绘制我自己的自定义视图。这工作,但只有当canShowCallout在我的自定义注释视图类中设置为YES。如果我将此设置为NO(这是我想要的,所以默认的标注气泡不绘制),这些方法不会被调用。因此,我无法知道用户是否触摸了我在地图上的点(选择它)或触摸了一个不是我的注释视图(选择它)的一部分,而没有默认的标注气泡视图显示。

我试图走下一条不同的路径,只是处理所有的触摸事件,我自己在地图上,我似乎不能得到这个工作。我阅读其他与捕捉触摸事件在地图视图相关的帖子,但他们不是我想要的。有没有办法挖入地图视图中删除标注泡沫绘制前?我失去了。

有什么建议么?我缺少明显的东西吗?

有一个更容易的解决方案。

创建自定义UIView(对于您的标注)。

然后创建MKAnnotationView的子类,并覆盖setSelected如下:

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [super setSelected:selected animated:animated];

    if(selected)
    {
        //Add your custom view to self...
    }
    else
    {
        //Remove your custom view...
    }
}

繁荣,工作完成。

http://stackoverflow.com/questions/1565828/how-to-customize-the-callout-bubble-for-mkannotationview

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:iphone – 如何自定义标注气泡MKAnnotationView?